Hallo, habe hier 2 Rechner mit jewals dem AVR-Studio neuste Version oben eingestellt ist Simulator 2 für einen Xmega128a1. der asm Code ist exakt der selbe auf jedem Rechner bei einem werden nach reti in Simulator die IR Flags nicht gelöscht. Gibt es da eine Option in den Einstellungen oder hat die Installation einen Treffer habt Ihr das auch schon mal gehabt?
Nach dem reti werden überhaupt keine Flags gelöscht! Die Interrupt-Flags werden in praktisch allen Fällen beim Sprung in den Interrupt-Vektor gelöscht, Ausnahme ist z.B. das UART-RXC-Flag, das beim Lesezugriff auf UDR gelöscht wird, wenn der Puffer kein weiteres Zeichen enthält.
Hallo, am Thema vorbei. Die werden auf einem Rechner gelöscht und auf dem anderen nicht. Wann ob nun bei reti oder auf dem hinweg ist erstmal zweitrangig.
Komisch troz Neuinstallation des AVR Studios immer noch das selbe Problem. einmal habe ich die Version auf dem Rechner Die funktioniert AVR Studio 4.14.603 Service Pack 1 und dann die aktuelle von der Webseite (623) geht nicht. Ist das jetzt ein Bug in der neuen Version?
Wodran merkst du das die IR FLags nicht gelöscht werden? Wird der Interupt sofort wieder angesprungen? ggf ist es nur ein Darstellungsproblem...
Hallo, ja die Flags werden nicht gelöscht und der Interrupt wird direkt wieder angesprungen. Egal ob Timer Overfolw oder AD Wandler.... . Klicke ich auf das flag um es zu löschen macht das Studio was es soll bis der nächste IR kommt egal von wo. Oder habe ich was bei der IR einrichtung versaut? Adwandler ldi temp,ADC_RESOLUTION_8BIT_gc sts ADCA_CTRLB,temp; für 8 Bit betrieb 8-bit right-adjusted result ldi temp,ADC_CH0IF_bm sts ADCA_CH0_INTCTRL,temp ;Interrupt auf Kanal 0 für ADC Freigeben ldi temp,ADC_ENABLE_bm sts ADCA_CTRLA,temp; ADC A einschalten ldi temp,ADC_PRESCALER_DIV4_gc;Vorteiler einschalten sts ADCA_PRESCALER,temp ldi temp,ADC_REFSEL_INT1V_gc ;Referenzspannung auswählen sts ADCA_REFCTRL,temp und dann die IR Freigeschalten mit ldi temp,(PMIC_LOLVLEN_bm)|(PMIC_HILVLEN_bm)|(PMIC_MEDLVLEN_bm); Interrupts level Freigeben sts PMIC_CTRL,temp und den Adwandler gestartet (pin gewählt und los) ldi temp,ADC_CH_START_bm sts ADCA_CH0_CTRL,temp ;Start Adwandler auf Kanal0 ldi temp,ADC_CH_MUXPOS_PIN0_gc ; Pin 0 sts ADCA_CH0_MUXCTRL,temp probierts doch mal auf der 4.15 Rev 623
Warum machst Du Dir solchen Kopf um den Simulator? Flashe den Code und gucke, was der Controller daraus macht. Mit einer Debug-Routine über UART, LED oder Display siehst Du genau so viel und hast die Gewißheit, ob der Controller damit klar kommt oder nicht. Das ist besser, als jeder Simulator.
Hallo, hebe jetzt nochmal auf dem rechner wo es vorher ging die 4.15 Version draufgesemmelt und siehe da der selbe Fehler es ligt also nicht am Rechner sondern am AVR Studio. @Travel Rec Der ADWandler bringt schon komische Werte im 8Bit Betrieb komme ich nie auf Null (ich gebe das Ergebiniss auf Port C aus so: lds temp,ADCA_CH0RES ;8 Bit ergebniss auslesen CH 0 sts PortC_out,temp wenn ich PIN A1 auf Masse ziehe. Habe ich beim AD Wandler was vergessen?
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.