Gefunden für befehle pic16f887 - Zum Elektronik Forum |
| 1 - I2C-Bus Ack + Interrupt unterbrechung -- I2C-Bus Ack + Interrupt unterbrechung |
| Juhu! Mal wieder ein Assembler Problem!
Keine Angst, es handelt sich nicht um eine Fehlersuche, ich habe diesen schon erfolgreich lokalisiert, nur hab ich eine kreative Blockade bei der Lösungsfindung. Das System an dem ich arbeite (PIC16F887 + I2C Bus (u.a. LM75) + Frequenzmessung per Interrupt) Macht folgende Zicken: Wenn der externe Interrupt der Frequenzmessung genau dann im Programm zuschlägt wenn der PIC als Master des I2C Busses auf den Ack des Slaves wartet, so verpasst der Master diesen und der Bus bleibt kleben (State SDA High, SCL Low); Der Fehler ist nur durch einen Kaltstart zu beheben, MCLR am PIC erweckt den Bus nicht wieder zum Leben, der Slave blockt... Ich vermute diesen Fehler aus folgenden Gründen: -Wenn ich zwischen Slave-Adress-Write und Read vom Bus mehrere NOP Befehle einfüge, so tritt der Fehler sofort beim ersten Leseversuch auf. -Wenn ich den Externen Frequenzzähler-Interrupt deaktiviere tritt der Fehler garnicht mehr auf. 1. Frage: Ist meine Fehlereinschätzung realistisch? 2. Frage: Lösungsvorschläge? - Eine Deaktivierung des externen Interrupts während des Lesevorganges ist ungünstig, da es die Genauigkeit meiner Frequenzmessung beeinflusst. Bei jeder Verpassten Flanke um etwa 0,4%. Dies ... |
|
Zum Ersatzteileshop Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation! gerechnet auf die letzten 30 Tage haben wir 17 Beiträge im Durchschnitt pro Tag heute wurden bisher 0 Beiträge verfasst 6 Besucher in den letzten 60 Sekunden alle 10.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |