Forum: Mikrocontroller und Digitale Elektronik PIC18f4580 CAN Sleep/Wakeup Problem


von Flo (Gast)


Angehängte Dateien:

Lesenswert?

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

von Flo (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.