Hallo ich habe ein kleines Problem. Ich habe folgende DS3231 Libary
gefunden. Ich hatte diese schon einmal genutzt, jedoch alles vom DS1307
rausgeworfen.
Dort hat die Verbindung wunderbar funktioniert.
Diese finde ich nicht wieder. Habe diese nun erneut geladen und habe das
Problem, dass ich keine Verbindung aufgebaut bekomme.
https://github.com/akafugu/ds_rtc_lib
Genutzt wird ein Atmega328P. Verbunden habe ich den 1:1. Bereits ein 2.
Modul getestet, gleicher Fall.
1 | /* main.h */
|
2 | #ifndef MAIN_H_
|
3 | #define MAIN_H_
|
4 |
|
5 | #define F_CPU 16000000UL
|
6 |
|
7 | #include <avr/io.h>
|
8 |
|
9 | #include "uart.h"
|
10 | #include "rtc.h"
|
11 |
|
12 | #endif /* MAIN_H_ */
|
13 |
|
14 | /* main.c */
|
15 | #include "main.h"
|
16 |
|
17 | int main(void)
|
18 | {
|
19 | struct tm* t = NULL;
|
20 |
|
21 | uart_init(F_CPU, 9600);
|
22 |
|
23 | printf("\n\ruart_init.........OK");
|
24 |
|
25 | printf("\n\rtwi_init_master...");
|
26 | twi_init_master();
|
27 | printf("OK");
|
28 |
|
29 | printf("\n\rrtc_init..........");
|
30 | rtc_init();
|
31 | printf("OK");
|
32 |
|
33 | printf("\n\rrtc_get_time....");
|
34 | t= rtc_get_time();
|
35 | printf("OK");
|
36 |
|
37 | printf("\n\r%02d:%02d:%02d", t->hour, t->min, t->sec);
|
38 |
|
39 | while (1)
|
40 | {
|
41 |
|
42 | }
|
43 | return 0;
|
44 | }
|
Die rtc_init wird nie beendet. Gleiches gilt für die rtc_get_time(),
wenn ich die init überspringe und ds3231 als aktiv setze.