Hallo, versuche gerade einen PIC18F4580 nach einer bestimmten Zeit in der keine Nachricht über den CAN eintrifft in den Sleep Modus zu setzen. Dazu wird im Timer1 Interrupt ein Zähler hochgezählt, solange Nachrichten eintreffen wird dieser Zähler im Recieve Interrupt zurück gesetzt. Überschreitet der Zähler einen bestimmten Wert wird im Timer1 Interrupt das CAN Modul in den Disable Mode geschalten. Danach führe ich den Sleep Befehl aus. Der Wakeup Interrupt des CAN Moduls ist auch aktiviert und das WAKIF sollte bei der ersten eintreffenden Nachricht gesetzt werden und den PIC aufwecken. Das Problem ist allerdings das dieses WAKIF bereits gesetzt wird, sobald ich das CAN Modul in den Disable/Sleep Mode schalte, und dadurch der Sleep befehl Ignoriert wird. Setze ich das CAN Modul vor dem Sleep Befehl nicht in den Disable Mode wird der Sleep Befehl zwar ausgeführt, ein aufwecken durch eine Nachricht ist allerdings nicht möglilch. Das Thema wurde in einem anderen Forum bereits behandelt: http://www.pic-mikrocontroller.de/index.php/forum/index.php/topic,622.0/ Hab auch alle Kombinationen der WAKDIS und WAKFIL Bits ausprobiert, hatte aber keinen Erfolgt. Hat jemand Erfahrung mit diesem Problem oder eine Idee woran es liegen könnte? Im Anhang noch das aktuelle Programm in Assembler. Hoffe jemand kann mir helfen und schonmal Danke im Vorraus für eure Antworten. Grüße Flo
Hatte das Problem außer mir noch nie jemand, oder eine Idee warum es nicht funktionieren könnte?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.