PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Interrupt



porter91
20.01.2013, 17:42
Hallo

Ich habe mal wieder einen knoten im kopf. Ich habe folgendes Programm es soll später mal meinen Rp5 zum laufen bringen. Auf dem RP5 verwende ich einen Mega 32 als master einen Mega8 als slave und einen L293 als motor treiber der an den Mega8 angeschlossen werden soll. Die Kommunikation der beiden Atmegas funktioniert soweit. Auch das Einlesen eines Wertes über den adc klappt. Nun wollt ich das der ADc, da er die Akku spannung überwachen soll und im notfall dann abschalten, über einen timer abfragen, ca alle 8 sek. habe den Timer konfiguriert und die ISR erstellt. aktiviere ich nu mit sei(); die Interrupts geht mein Programm in die witten I2C geht nicht mehr und die Isr anscheinend auch nicht. Leider finde ich meien Fehler nicht selber :-(. Hätte von euch einer eine idee.

Besserwessi
20.01.2013, 18:37
Ein Problem ist, dass es relativ lange dauert den ADc auszulesen. Auch wie auf das Ende der AD Wandlung gewartet wird ist ein Problem: es wird nur das ADIF Falg getestet, aber nicht gelöscht. Auch wird der Interrupt für den AD Aktiviert, aber es fehlt die ISR dazu.

porter91
24.01.2013, 18:07
Du hattes recht :-) hab vergessen das ich das Bit gesetzt habe.Das es nicht die schönste variante ist weiß ich, rufe die Funktion später nur alle 8, und Sekunden auf. Das er jetzt noch über I2c weiter gegeben wird liegt daran das am andern Atmega gerade der Max 232 angeschlossen ich und ich gerade keine Lust habe das umzuklemmen. :-)