Forum: Mikrocontroller und Digitale Elektronik Interruptsimulation im AVRStudio


von Christian S. (mueke)


Lesenswert?

Hallo Leute,
ich hab da mal ne Frage:
Ich habe für den ATMega8 ein Interruptgesteuertes Programm geschrieben. 
Der ATMega8 ist hier als I2C-Slave initialisiert und soll als 
Steuerungseinheit für einen Schrittmotor dienen.
Jetzt möchte ich wissen, wie ich im AVRStudio einen Interrupt, in diesem 
Fall den Interrupt TWI simuliere.
Kann ich dabei auch Daten (auch Start- und Stop-Condition) vorgeben, die 
wie beim I2C-Bus an meinen Controller gesendet werden?

MfG
Muecke

von Johannes M. (johnny-m)


Lesenswert?

Zitat aus der AVRStudio Hilfe:
"Simulation of TWI, USI and analog peripheral is not yet implemented."

von Axel R. (Gast)


Lesenswert?

Du könntest Dir eine Datei anlegen, mit dem Du die Portpins entsprechend 
"fütterst". Findest Du unter "PORT STIMULI" in der Hilfe.
Gemacht habe ich das aber auch noch nicht. Da du die Werte nicht in 
hexadezimaler Form oder irgentwie anders komfortabel eingeben kannst, 
musst Du die Zeit und die Bits ausrechnen und entsprechend in die Datei 
eintragen.
Dann könntest Du schonmal SCK und SDL "klappern" lassen. Aber wenn das 
TWI interface im Sumilator sowieso keinen INterrupt bei Adressmatch 
generiert, wird das nichts nützen, denke ich...

von Wolfram (Gast)


Lesenswert?

>Kann ich dabei auch Daten (auch Start- und Stop-Condition) vorgeben, die
>wie beim I2C-Bus an meinen Controller gesendet werden?
Niemand hindert dich von Hand die entsprechenden Bits in den Registern 
zu setzen.
Aus eigener Erfahrung kann ich nur sagen, die beste Entwicklungsumgebung 
sind 2 STK500 jeweils mit JTAG, einer als Master der andere als Slave. 
Man macht bei der Entwicklung einige (auch falsche) Annahmen  für Master 
und Slave, die leicht zu einem blockieren des TWI führen.


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
Noch kein Account? Hier anmelden.