Guten morgen, Hab vor ein paar Tagen angefangen mich mit dem STM32 auseinander zu setzten. Das klappt soweit auch ganz gut. Habe ein fertiges Board mit einem STM32F103RBT6 und einer Pufferbatterie für die Uhr drauf. Dabei waren einige Beispiel Hex Files. Unter anderem auch eins für die Uhr. Das funktioniert auch soweit. Nur im eigenen Programm bekomm ich das nicht so richtig hin. Sitz jetzt schon die ganze Nacht dran und hab fast jeden Googleeintrag dazu gelesen (aber nicht unbedingt verstanden :)) Jetzt mal zu den Deteils: Programmiere mit Keil uVision4, also c was relativ neu für mich ist. Hab vorher recht viel mit Basic (Bascom, VB...) gemacht. Die Zeit lese ich mit TimeVar=RTC->CNTL; aus was auch soweit funktioniert. Zählt zumindest im Sekundentakt hoch. Allerdings fängt das ganze nach einem Reset immer wieder bei null an. Wie gesagt im Beispiel läuft die Zeit bei ausgeschaltetem Controller über die Pufferbatterie weiter. Wie sieht das jetzt mit dem Einstellen oder Initialisieren der RTC aus. Muss ich der extra sagen dass sie über VBat weiter laufen soll oder muss ich beim Einschalten die Zeit aus irgend einem Speicher laden? Bin da langsam recht ratlos und wäre für Hilfe dankbar Grüße Pacco
Dann zeig uns doch mal, wie du die RTC einstellst / initialisierst. Eigentlich zeigen die Beispiele von ST recht schön, wie man die RTC und die Backup Domain benutzen muss.
Das ganze sieht bis jetzt so aus:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
Bin mir nicht sicher ob das alles ist. Ist wie gesagt etwas neu für mich
Gast
#3644650
Mike S. schrieb: > wie man die RTC und > die Backup Domain benutzen muss. http://www.coocox.org/show_exam/RTC/383.html Das Problem ist die Initialisierung selbst. Ab hier: if (RTC_ReadBackupRegister(RTC_BKP_DR0) ...... wird entschieden was bei Reset passiert und ob die Uhr schon gestellt ist.
Gast
#3644679
> Eigentlich zeigen die Beispiele von ST recht schön, wie man die RTC und > die Backup Domain benutzen muss. Das Beispiel moechte ich mal sehen. An den interessanten Stellen haben die Examples von ST immer aufgehoert.
./. schrieb: > > Das Beispiel moechte ich mal sehen. > > An den interessanten Stellen haben die Examples von ST immer aufgehoert. Was sind denn für dich die interessanten Stellen? das hier stammt direkt aus der StdLib:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
und hier noch die dazu gehörigen Initialisierung (aus der gleichen Datei)
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
Damit hat man einen Zähler, der alle Sekunde um 1 erhöht wird. Was man jetzt damit macht, z.B. das ganze in ein Datum umrechnet, das bleibt jedem selbst überlassen. Oder man muss halt schauen wie andere das gelöst haben. Das hat aber nicht mit der Funktion der RTC an sich zu tun.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.