logo
Welcome, Guest. Please Login or Register.
17. May 2024, 05:30:31


Home Help Search Login RegisterWIKIUHSDR Download

Amateurfunk Sulingen
Diskussions- und Newsboard des DARC-Ortsverbandes I40  |  allgemeine Kategorie  |  mcHF Projekt Deutsch / English (here you can discuss everything related to mcHF) (Moderators: DF8OE, DL1PQ)  |  Topic: Ich will mich mit der Programmierung der Firmware beschäftigen <- zurück vorwärts ->
Pages: 1 2 [3] 4 Go Down Print
   Author  Topic: Ich will mich mit der Programmierung der Firmware beschäftigen  (Read 6451 times)
DB4PLE
positron
Urgestein
*****

Offline

Posts: 1278





View Profile
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #30 on: 03. February 2017, 11:09:33 »

Sehr schön!

Du musst jetzt das Projekt mchf-eclipse importieren.

1)  Im einfachsten Fall ZIP von github runterladen:

https://github.com/df8oe/mchf-github/archive/active-devel.zip

dann kann man den ganzen GitHub & Git Teil im Wiki ignorieren.

2) Der Import des Projekts nach Eclipse ist im DF8OE Wiki ausreichend beschrieben, denke ich.

Eigentlich sollte es Dir dann möglich sein, ein mchf.bin zu erzeugen (Projekt-Verzeichnis selektieren und mit rechter Taste erst

3) "Clean Project" dann
4) "Build Project" aufrufen.

Normalerweise muss man nicht "Clean Project" machen, aber es zeigt, ob alles in Ordnung ist. Für "Build Project" gibt es auch noch einen  Button oben in der Leiste, aber das ist nicht grafisch schwierig zu beschreiben.

73
Danilo

Logged
BO_Andy
Urgestein
*****

Offline

Posts: 725



Ich bin schon Groß und kann Alleine Laufen

View Profile E-Mail
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #31 on: 03. February 2017, 14:42:45 »

So Danilo das geht auch soweit.Dann kann es denke ich lis gehen.

Lg BO_Andy
Logged
DB4PLE
positron
Urgestein
*****

Offline

Posts: 1278





View Profile
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #32 on: 03. February 2017, 15:36:36 »

Hallo Andy,

sehr schön. Jetzt musst Du mal kurz sagen, ob Du schon mal programmiert hast und wenn ja, mit welcher Programmiersprache. Damit ich weiß, wo ungefähr ich ansetzen sollte.

73
Danilo

Logged
BO_Andy
Urgestein
*****

Offline

Posts: 725



Ich bin schon Groß und kann Alleine Laufen

View Profile E-Mail
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #33 on: 03. February 2017, 16:17:48 »

Hallo Danilo ich hatte mal vor einigen Jahren ein bissel mit C was gemacht ist aber shon länger her

lg BO_Andy
Logged
DB4PLE
positron
Urgestein
*****

Offline

Posts: 1278





View Profile
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #34 on: 03. February 2017, 16:38:12 »

Hallo Andy,

ok, ein bißchen C reicht.

Was willst/mußt Du machen?

1. Die verfügbaren Datumsfunktionen der Prozessor-RTC verstehen
2. Code zum Lesen des Datums
3. Veränderung der Anzeigefunktion, die derzeit nur die Zeit anzeigt
4. Code zum Setzen des Datums (Schreiben eines beliebigen Datums in die RTC)
5. Einstellung des Datums über das Debug-Menü.

Wir fangen mal mit 1 bis 3 an.

1:

http://www.hanese.nl/STM32/stm32f4stdlibrary/html/group___r_t_c.html

Beispiel Code
https://github.com/g4lvanix/STM32F4-workarea/blob/master/Project/STM32F4xx_StdPeriph_Examples/RTC/RTC_Calendar/main.c


2+3:

drivers/ui/ui_driver.c Zeile so um 6004 ist interessant:

if (ts.rtc_present)
{
...
}

Da lesen wir die Zeit aus und schreiben sie auf den Bildschirm (das passiert alle 100*10ms = 1s).

Sinnvollerweise packst Du da auch das Lesen des Datums rein.

Ich denke, dass du das hinbekommst. Melde Dich einfach und hänge hier deinen Code an, wenn es nicht so geht wie erwartet. Wenn der Compiler Fehlermeldungen produzierst, bitte auch in den Post rein damit.

73
Danilo
Logged
BO_Andy
Urgestein
*****

Offline

Posts: 725



Ich bin schon Groß und kann Alleine Laufen

View Profile E-Mail
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #35 on: 06. February 2017, 20:09:31 »

Nach dem ich mich jetzt mehrere Tage mit der Strucktur von stm32 angeguckt und probiert. Bis hetzt leider ohne erfolg wenn das so weiter geht schmeisse ich das handtuch. Ich glaube mei bissche c was schin lage her ist hilft mir hier leider nicht weiter

Lg BO_Andy
Logged
DB4PLE
positron
Urgestein
*****

Offline

Posts: 1278





View Profile
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #36 on: 06. February 2017, 20:55:48 »

Hallo Andy,

ist schwer zu sagen, was nicht funktioniert, wenn man nicht sieht was Du probiert hast.

Die Dokumentation ist in der Tat nicht ohne.

Was das Auslesen des Datums betrifft:

Die richtige Funktion heisst RTC_GetDate

Aus RTC_GetDate(    uint32_t     RTC_Format, RTC_DateTypeDef *     RTC_DateStruct )
erfahren wir, dass die Funktion als 1. Parameter eine 32 Bit Zahl ohne Vorzeichen erwartet (uint32_t) und der 2. Parameter die Adresse einer Datenstruktur vom Typ RTC_DateTypeDef ist.             

und wird hier beschrieben:
http://www.hanese.nl/STM32/stm32f4stdlibrary/html/group___r_t_c.html#ga582645d554cdd4a316213e90f0b4c8ae

dass wir für den 1. Parameter entweder RTC_Format_BIN oder RTC_Format_BCD nutzen können. Das sind symbolische Namen, die für Zahlen stehen (uns interessiert das aber nicht, wir verwenden hier einfach RTC_Format_BIN so wie auch schon bei der Uhrzeit im mcHF.

Und auch für den 2. Parameter können wir einfach mal schauen wie das bei RTC_GetTime geht, denn das ist im Prinzip das gleiche, bloss eben für die Zeit: void RTC_GetTime ( uint32_t  RTC_Format, RTC_TimeTypeDef *     RTC_TimeStruct) 
Nur das hier eine RTC_TimeTypeDef Datenstruktur verwendet wird.

Schau Dir jetzt nochmal an, wie wir die Zeit in den Zeilen ab 6004 in ui_driver.c auslesen, genau so kann man auch das Datum auslesen, man muss eben nur eine RTC_DateTypeDef als 2. Parameter verwenden.

Probier das mal aus.

73
Danilo
 

Logged
BO_Andy
Urgestein
*****

Offline

Posts: 725



Ich bin schon Groß und kann Alleine Laufen

View Profile E-Mail
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #37 on: 13. February 2017, 07:51:48 »

Hallo Danilo ich hatte versucht den Hardware kalender des STM32 zu aktivieren. Mittel des schatten register. Aber irgendwo war da gewallti der wurm drin. Nach aufspiele der mcHF. Bin ging er nicht mehr an weisser Bildschirm. Das einzige was noch ging war Displaybeleuchtung dimmen.
Wenn ich nachher zuhause bin werde ich mal ein bild e
Reiststellen was ich in die rtc.c datei geschrieben habe.

Lg BO_Andy
Logged
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #38 on: 13. February 2017, 08:25:57 »

Warum machst Du nicht einen Code-Ausschnitt den Du mit den "quote-Tags" hier im Forum einstellst? So könnte jemand anders die Codeteile zum Nachstellen einfach mit copy&paste übernehmen - mit einem Bild geht das nicht...

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
BO_Andy
Urgestein
*****

Offline

Posts: 725



Ich bin schon Groß und kann Alleine Laufen

View Profile E-Mail
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #39 on: 15. February 2017, 17:39:32 »

Quote:
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
PWR_RTCAccessCmd(ENABLE);
RCC_RTCResetCmd(ENABLE);
RCC_RTCResetCmd(DISABLE);
rtc_write_enable();
RTC->ISR |= RTC_ISR_INIT;
RTC->CR &= ~RTC_CR_FMT; //24h
RTC->ISR &= ~RTC_ISR_INIT;
rtc_write_protect();
« Last Edit: 15. February 2017, 17:54:54 by BO_Andy » Logged
peter_77
Urgestein
*****

Offline

Posts: 735



THE mcHF and UHSDR forum !

View Profile
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #40 on: 15. February 2017, 17:42:33 »

Nur um zu verdeutlichen WO und WAS Quote Tags sind...
 tags.png
« Last Edit: 15. February 2017, 17:44:15 by peter_77 »
Logged

DB4PLE
positron
Urgestein
*****

Offline

Posts: 1278





View Profile
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #41 on: 15. February 2017, 18:22:30 »

Hallo Andy,

ich nehme an, du willst damit die RTC aktivieren. Das ist nicht nötig, das wird schon für Dich und alle anderen erledigt.
Und zwar in mchf_rtc.c wird alles notwendig getan.

Um das Datum zu lesen, muss man nur noch die richtige Funktion aufrufen richtig aufrufen (RTC_GetDate(...) )

Wo rufst Du das denn auf (an welcher Stelle in welcher Datei?)

Der Ausschnitt kann eigentlich nicht kompilieren, denn der Code enthält Aufrufe von Funktionen, die es im mcHF Code leider nicht gibt (bzw. anders heißen), es sei denn, Du hast die nichtvorhandenen Funktionen selbst programmiert, kompiliert es natürlich.

Aus der Application Note: PWR_RTCAccessCmd()  function on STM32L1xx, STM32F0xx and STM32F3xx devices.

Quote from: BO_Andy on 15. February 2017, 17:39:32
Code:

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);

PWR_RTCAccessCmd(ENABLE);

// mcHF STM32F4 Libs: PWR_BackupAccessCmd(ENABLE);

RCC_RTCResetCmd(ENABLE);
RCC_RTCResetCmd(DISABLE);
// sollte man nicht machen, wenn man nicht die Uhrzeit komplett löschen möchte.


// macht man anders siehe mchf_rtc.c, MchfRtc_Start(), grundsätzlich nicht falsch, nur gibt es rtc_write_enable/disable auch nicht.
// es sei denn natürlich, Du hast die Funktionen geschrieben.

rtc_write_enable();
// gewünschter Änderung erlauben durch schreiben einer speziellen Sequenz an eine bestimmte Adresse im Speicher


RTC->ISR |= RTC_ISR_INIT;
RTC->CR &= ~RTC_CR_FMT; //24h
RTC->ISR &= ~RTC_ISR_INIT;

rtc_write_protect();
// und wieder vor ungewünschter Änderung schützen




Bein Fehlerbild: Weißer Bildschirm aber Dimmen geht, ist schwer zu interpretieren. Einen weißen Bildschirm gibt es nur, wenn beim Starten der falsche oder kein Bildschirmtype identifiziert wird. Wenn dein Code sehr früh aufgerufen wird, kann das eine Nebenwirkung von einem Bug in deinem Code sein. Da ich den vollständigen Code nicht kenne, kann ich nicht sagen was das Problem verursacht. Wenn das Dimmen ganz normal geht, ist allerdings der Audio-Controller am Laufen, denn der ist fürs Dimmen zuständig.  Und die Tastenabfrage geht auch. Dann müsste der mcHF auch normal ausgehen, nach kurzer Betätigung des Powerknopfes.

Alles in allem schwer zu sagen, wo dein Problem liegt.

Probier doch nochmal, die von mir vorgeschlagenen Änderungen zu machen und auf den direkten Zugriff auf die RTC Register erstmal zu verzichten.


73
Danilo
Logged
BO_Andy
Urgestein
*****

Offline

Posts: 725



Ich bin schon Groß und kann Alleine Laufen

View Profile E-Mail
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #42 on: 18. February 2017, 19:14:15 »

Quote:
/*1 Disable the RTC registers Write protection*/

RTC->WPR = 0xCA;
RTC->WPR = 0x53;

/*2 Enter Initialization mode*/
RTC_ISR.INIT = 1;

/*3 Wait for the confirmation of Initialization mode*/

while(RTC_ISR.INITF != 1)

/* 4 Program the prescalers register if needed*/
RTC_PRER = 0x7F;
RTC_PRER |= 0xFF << 16;


/* 5 Load time and date values in the shadow registers*/

RTC_TR = 0x123500;
RTC_DR = 0x126718; 

/* 6 Configure the time format (12h or 24h)*/
RTC_CR.F6 = 0; // set FMT 24H format

/* 7 Exit Initialization mode*/
RTC_ISR.INIT = 0; 

/* 8 Enable the RTC Registers Write Protection*/
 
TC->WPR = 0xFF;

Guten abend zusammen also ich habe nochmal was probier ich hoffe ich denke richtig. Das soll die kalender inizialiesierung werden mit der Internen hardware. An welcher stelle müsste diese dann in der RTC.c datei eingetragen werden

LG BO_Andy
Logged
BO_Andy
Urgestein
*****

Offline

Posts: 725



Ich bin schon Groß und kann Alleine Laufen

View Profile E-Mail
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #43 on: 04. March 2017, 21:34:09 »

So ihr liebe für mich ist es an der Zeit gekommen mich hier zu verabschieden. Ich bedanke mich bei allen die mir bis hier her geholfen haben, aber es ist für mich an der Zeit zu gehen ich habe meine Idee und die Zählt es jetzt in die tat umzusetzen. Vielleicht lies man sich hier mal wieder wenn ich meine Pläne umgesetzt  habe bis dahin euch weiterhin viel Glück beim schaffen lg 73 BO_Andy

« Last Edit: 04. March 2017, 21:51:40 by BO_Andy » Logged
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Ich will mich mit der Programmierung der Firmware beschäftigen
« Reply #44 on: 05. March 2017, 08:16:02 »

Ich wünsche Dir viel Spaß und Erfolg bei deinen neuen Plänen / Projekten! In der Tat: vielleicht trifft man sich irgendwie, irgendwo; irgendwann nochmal 

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
Pages: 1 2 [3] 4 Go Up Print 
Diskussions- und Newsboard des DARC-Ortsverbandes I40  |  allgemeine Kategorie  |  mcHF Projekt Deutsch / English (here you can discuss everything related to mcHF) (Moderators: DF8OE, DL1PQ)  |  Topic: Ich will mich mit der Programmierung der Firmware beschäftigen <- zurück vorwärts ->
Jump to: 


Login with username, password and session length

 Es wird die Verwendung von Browsern die auf der "Blink"-Engine basieren und mindestens
1024x768 Pixel Bildschirmauflösung für die beste Darstellung empfohlen
 
Amateurfunk Die Beiträge sind, sofern nicht anders vermerkt, unter der folgenden Lizenz veröffentlicht:
GNU Free Documentation License 1.3 GNU Free Documentation License 1.3
verbindet!
Powered by MySQL Powered by PHP Diskussions- und Newsboard des DARC-Ortsverbandes I40 | Powered by YaBB SE
© 2001-2004, YaBB SE Dev Team. All Rights Reserved.
- modified by Andreas Richter (DF8OE)
Impressum & Disclaimer
Valid XHTML 1.0! Valid CSS!