PIC18f4580 CAN Sleep/Wakeup Problem

Gast #2049985
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
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren