Hallo Hat sich damit schon mal jemand beschäftigt? ich würde gerne meinen Controller in den Sleep Mode versetzen und bei nem Interrupt (CAN-Nachricht) wieder aufwecken. Super währe, wenn ich ein Bsp. für die Konfiguration usw. irgendwo finden würde, aber g...gle usw. hat mir noch nichts gegeben danke
Gast
#2308092
Reicht da nicht ein
1 | |
? Grüße Sven
Hi Ich programmiere den in C, und das alleine reicht denk ich nicht... aber ich habe auch noch nicht weiter probieren können
Gast
#2309886
"The Insider’s Guide To The STM32 ARM®Based Microcontroller" sagt:
1 | |
2 | |
3 | |
4 | |
5 | |
Welchen Compiler verwendes Du? Grüße Sven
hmmmm klingt komplizierter codesourcery G++ lite
Hi, P. Ostrich schrieb: > hmmmm klingt komplizierter > > codesourcery G++ lite
1 | |
entspricht soweit ich weiss dem GNU Standard. Gruß
Hi, P. Ostrich schrieb: > hmmmm klingt komplizierter > > codesourcery G++ lite
1 | |
sollte bei GNU klappen. Gruß
hallo ich bin leider noch nicht so fit in der ganzen geschichte. Das ist ja dann quasi nur die definition. Aber wie rufe ich das im code auf? Danke
Gast
#2312385
Hallo J das habe ich probiert, aber bekomme es nicht so richtig hin.. kurz zur Erklärung... ich habe in meiner stm32f10x_it.c
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
Ich lasse also nur die LED blinken. jetzt möchte ich, wenn kein verkehnr mehr auf dem CAn ist den controller via wfi in den sleep schicken. dann solte die LED ja auch aufhören zu blinken Ich habe den int off einfach mal hochzählen lassen und in meiner main dies eingefügt. dann sollte der controllier doch nach 10 Sec. in sleep gehe oder nicht?
1 | |
2 | |
Gast
#2316926
P. Ostrich schrieb: > off ++; Ich hoffe, du fährst mit dem Auto nicht, wenn da noch mehr solche Dinger drin sind... ;-) Bei den meisten Controllern holt ein Interrupt den Controller auch wieder aus dem Sleep-Mode - wie genau das beim STM32 ist, habe ich noch nie nachgeschaut.
du das mit der sache ist gerade nur ein test... und wieso auto???? hehe ja wfi steht ja dafür, das er durch nen interrupt aufwacht. und das ist ja nur ein simpler code aufbau... wenn man hier mehr postet, wird ja immer alles mögliche gefragt, was aber nicht zum Thema hilft. dem wollte ich entgehen Aber danke Jan(GAST) !!!!!
Gast
#2316971
Du hattest vor ein paar Wochen mal was zum KFZ-Bordnetz gefragt. Zusammen mit CAN deutet das sehr auf Elektronik für das Auto hin. ;-) Wenn der Controller aus dem Sleep immer durch den Interrupt aufgeweckt wird, blinkt die LED aber immer munter weiter. Der Timer zählt ja weiter im Sleep. Daher verstehe ich deine Frage nicht wirklich.
geschafft :-) PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFE); damit klappt es... jetzt muss ich nur noch das drum herrum schreiben dank euch
Problem aufgetaucht
bei
P. Ostrich schrieb:1 | |
geht er in sleep, aber er sollte bei CAN Aktivität wieder aufwachen.... zählt anscheinen nicht zu den kriterien um ihn wieder zu erwecken... Jemand eine Lösungs Idee? Laut RM0008 Seite 66 verweis auf Table 61: Vector table for other STM32F10xxx devices ist das heir ein aufwachgrund CAN_RX1 CAN RX1 interrupt Adresse0x0000_0094
P. Ostrich schrieb: > PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); > geht er in sleep Dem Namen nach gehts so nicht in den Sleep-Mode sondern in den Stop-Mode. > aber er sollte bei CAN Aktivität wieder aufwachen.... > zählt anscheinen nicht zu den kriterien um ihn wieder zu erwecken... Im Stop-Mode ist die gesamte 1,8V Domain taktlos, folglich dürfte der CAN Controller tot sein. Ebenso die meisten anderen internen Interrupt-Quellen. > Jemand eine Lösungs Idee? Wenn der Sleep-Mode nicht reicht, dann kannst du den CANRX Pin als EXTI definieren. Ein externer Interrupt weckt auch aus dem Stop-Mode auf.
A. K. schrieb: > Dem Namen nach gehts so nicht in den Sleep-Mode sondern in den > Stop-Mode. hast du recht ich hab mich nur nach dem WFI gerichtet. aber nach dem hier aus der stm3110x_pwr.c
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
ist es doch der Stop mode. aber den gibt es eigentlich nicht mit WFI oder WFE siehe Anhang. Wie komme ich sonst in den Sleep Mode bzw. kannst du mir hierbei helfen? A. K. schrieb: > den CANRX Pin als EXTI > definieren
P. Ostrich schrieb: > ist es doch der Stop mode. aber den gibt es eigentlich nicht mit WFI > oder WFE Doch, natürlich, du hast in deiner Table das "+ WFI or WFE" übersehen. Was helfen angeht: Was die StdPeriphLib angeht bist du bei mir an der falschen Adresse und die WFI/WFE-Befehle dürften sich im CMSIS finden - mehr brauchts für den Sleep-Mode wohl auch nicht.
ohh hehe ja hate recht.. man man man ... Sollte echt ned so viel auf einmal machen. ok dann shau ich mir mal die CMSIS an
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
