Kann man bei den ATmegas den I²C-Interrupt irgendwie per Software auslösen? Das Interrupt-Flag wird durch beschreiben mit 1 gelöscht, setzten geht also so nicht. Wozu man das braucht? Z.B. im Simulator, um einen Test der ISR automatisch ablaufen zu lassen.
Hi >Wozu man das braucht? Z.B. im Simulator, um einen Test der ISR >automatisch ablaufen zu lassen. Dort kannst du es manuell setzen. MfG Spess
spess53 schrieb: > Dort kannst du es manuell setzen. Ich weiß, aber das will ich gerade nicht, weil der Test dann nicht mehr automatisch laufen kann.
Hi >Ich weiß, aber das will ich gerade nicht, weil der Test dann nicht mehr >automatisch laufen kann. Für den Simulator gibt es noch die Möglichkeit ein Stimuli-File zu schreiben. Damit können während der Simulation Register automatisch gesetzt werden. MfG Spess
Wenn ich die Beschreibung zu Stimuli im Simulator des AVR-Studio 4 richtig verstanden habe, gibt es keine Möglichkeit, das TWINT-Flag im TWCR zu setzen. Stimuli gehen dort nur auf die Ports.
Hi
>Stimuli gehen dort nur auf die Ports.
Im SimulatorV2 (und den meinte ich auch) kannst du Register mit
Bitmasken verknüpfen (and/or/exor).
MfG Spess
Hast du das schonmal mit dem Simulator2 ausprobiert? Bei mir funktioniert der nicht richtig und die Stimuli werden offenbar nur teilweise ausgeführt. Ich habe es mit AVR Studio 4.18 Build 700 probiert.
Ersetz das Flagschreiben einfach doch einfach durch nen Sprung an die entsprechende interruptadresse...
Uhu Uhuhu schrieb: > Kann man bei den ATmegas den I²C-Interrupt irgendwie per Software > auslösen? Du könntest auch einfach folgendes machen:
1 | cli(); |
2 | TWI_vect(); |
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.