You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
4.2 KiB
Plaintext
97 lines
4.2 KiB
Plaintext
1 .file "DS3231.c"
|
|
2 __SP_H__ = 0x3e
|
|
3 __SP_L__ = 0x3d
|
|
4 __SREG__ = 0x3f
|
|
5 __RAMPZ__ = 0x3b
|
|
6 __tmp_reg__ = 0
|
|
7 __zero_reg__ = 1
|
|
8 .text
|
|
9 .Ltext0:
|
|
10 .cfi_sections .debug_frame
|
|
11 .global DS3231_init
|
|
13 DS3231_init:
|
|
14 .LFB0:
|
|
15 .file 1 "src/DS3231.c"
|
|
1:src/DS3231.c **** #include "i2c.h"
|
|
2:src/DS3231.c **** #include "DS3231.h"
|
|
3:src/DS3231.c **** #include "pinout.h"
|
|
4:src/DS3231.c **** #include <avr/io.h>
|
|
5:src/DS3231.c ****
|
|
6:src/DS3231.c ****
|
|
7:src/DS3231.c ****
|
|
8:src/DS3231.c **** void DS3231_init(void){
|
|
16 .loc 1 8 0
|
|
17 .cfi_startproc
|
|
18 /* prologue: function */
|
|
19 /* frame size = 0 */
|
|
20 /* stack size = 0 */
|
|
21 .L__stack_usage = 0
|
|
22 0000 0895 ret
|
|
23 .cfi_endproc
|
|
24 .LFE0:
|
|
26 .global DS3231_seconds
|
|
28 DS3231_seconds:
|
|
29 .LFB1:
|
|
9:src/DS3231.c **** //i2c_start(DS3231_ADDRESS);
|
|
10:src/DS3231.c **** }
|
|
11:src/DS3231.c ****
|
|
12:src/DS3231.c ****
|
|
13:src/DS3231.c ****
|
|
14:src/DS3231.c **** int DS3231_seconds(void){
|
|
30 .loc 1 14 0
|
|
31 .cfi_startproc
|
|
32 /* prologue: function */
|
|
33 /* frame size = 0 */
|
|
34 /* stack size = 0 */
|
|
35 .L__stack_usage = 0
|
|
15:src/DS3231.c ****
|
|
16:src/DS3231.c **** char ret = i2c_start(DS3231_ADDRESS+I2C_WRITE);
|
|
36 .loc 1 16 0
|
|
37 0002 88E6 ldi r24,lo8(104)
|
|
38 0004 0E94 0000 call i2c_start
|
|
39 .LVL0:
|
|
17:src/DS3231.c **** /*
|
|
18:src/DS3231.c **** USART_Transmit_String(" Return ");
|
|
19:src/DS3231.c **** //putchar(ret);
|
|
20:src/DS3231.c **** USART_Transmit_String("\n");
|
|
21:src/DS3231.c **** */
|
|
22:src/DS3231.c **** /*
|
|
23:src/DS3231.c **** if(ret){ //failed
|
|
24:src/DS3231.c **** PORTB |= STATUS_LED_B;
|
|
25:src/DS3231.c **** i2c_stop();
|
|
26:src/DS3231.c **** }else{
|
|
27:src/DS3231.c **** // issuing start condition ok, device accessible
|
|
28:src/DS3231.c **** i2c_write(0x05); // write address = 5
|
|
29:src/DS3231.c **** i2c_write(0x75); // ret=0 -> Ok, ret=1 -> no ACK
|
|
30:src/DS3231.c **** i2c_stop();
|
|
31:src/DS3231.c ****
|
|
32:src/DS3231.c **** i2c_start_wait(DS3231_ADDRESS+I2C_WRITE); // set device address and write mode
|
|
33:src/DS3231.c **** i2c_write(REG_SECONDS); // write address = 5
|
|
34:src/DS3231.c **** i2c_rep_start(DS3231_ADDRESS+I2C_READ); // set device address and read mode
|
|
35:src/DS3231.c **** ret = i2c_readNak(); // read one byte
|
|
36:src/DS3231.c **** i2c_stop();
|
|
37:src/DS3231.c **** }
|
|
38:src/DS3231.c ****
|
|
39:src/DS3231.c **** return ret;
|
|
40:src/DS3231.c **** */
|
|
41:src/DS3231.c **** }
|
|
40 .loc 1 41 0
|
|
41 0008 0895 ret
|
|
42 .cfi_endproc
|
|
43 .LFE1:
|
|
45 .Letext0:
|
|
46 .file 2 "inc/i2c.h"
|
|
DEFINED SYMBOLS
|
|
*ABS*:00000000 DS3231.c
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccV7Y02n.s:2 *ABS*:0000003e __SP_H__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccV7Y02n.s:3 *ABS*:0000003d __SP_L__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccV7Y02n.s:4 *ABS*:0000003f __SREG__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccV7Y02n.s:5 *ABS*:0000003b __RAMPZ__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccV7Y02n.s:6 *ABS*:00000000 __tmp_reg__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccV7Y02n.s:7 *ABS*:00000001 __zero_reg__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccV7Y02n.s:13 .text:00000000 DS3231_init
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccV7Y02n.s:28 .text:00000002 DS3231_seconds
|
|
|
|
UNDEFINED SYMBOLS
|
|
i2c_start
|