Hallo ich bins nochmal nach langer Auszeit,
Habe einen ATXmega128A1U und bin zu doof ein SIMCOM 808 Modul über Interrupts zu steuern. Habe folgendes Programm geschrieben, aber leider wird die Interrupt Service Routine (ISR) nicht aufgerufen:
Alles anzeigen
Also ich hätte jetzt erwartet, dass das Label "Ongsmrecieveinterrupt" aufgerufen wird. Könnt ihr mir sagen, warum jenes nicht der Fall ist?
Die LEDS des GSM-Moduls leuchten und eine LED blinkt im 3 Sekunden Takt.
Habe den obigen Code mit hilfe dieser Quellen zusammengekleistert:
- avrhelp.mcselec.com/index.html?enable.htm
- avrhelp.mcselec.com/index.html?on_interrupt.htm
- avrhelp.mcselec.com/atxmega.htm?zoom_highlightsub=usarte0
- g-heinrichs.de/attiny/bascom-avr20manual%20201_11_7.pdf
- rowalt.de/mc/avr/avrboard/06/avrb06.htm
- rn-wissen.de/wiki/index.php?title=Bascom_Interrupts
Habe einen ATXmega128A1U und bin zu doof ein SIMCOM 808 Modul über Interrupts zu steuern. Habe folgendes Programm geschrieben, aber leider wird die Interrupt Service Routine (ISR) nicht aufgerufen:
BASCOM-Quellcode: helloGSMInterrupts
- $regfile = "xm128a1def.dat"
- $crystal = 8000000
- $hwstack = 80
- $swstack = 80
- $framesize = 80
- $loadersize = 8192
- $lib "xmega.lib" : $external _xmegafix_clear : $external _xmegafix_rol_r1014
- Config Osc = Enabled , 32mhzosc = Enabled , 32khzosc = Enabled , 32khzpowermode = Low_power
- Config Sysclock = 32mhz , Prescalea = 4 , Prescalebc = 1_1
- Config Clock = Soft , Rtc = 1khz_32khz_crystosc
- ' CPU zu Putty Kommunikation
- Config Com5 = 19200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
- Open "COM5:" For Binary As #5
- ' CPU zu GSM Kommunikation
- Config Com4 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
- Config Serialin3 = Buffered , Size = 254
- Open "COM4:" For Binary As #4
- ' Interrupts für SIM 808
- Config Priority = Static , Vector = Application , Lo = Enabled , Med = Enabled , Hi = Enabled
- Enable Interrupts
- On Urxc Ongsmrecieveinterrupt
- Enable Urxc
- ' schreib irgendeinen AT Command ins GSM Modul
- Print #4 , "AT+ECHARGE?"
- Print #5 , "written AT command to GSM Module"
- Do
- nop
- Loop
- End
- Ongsmrecieveinterrupt:
- Print #5 , "Called the interrupt Routine for the GSM module!"
- Return
Die LEDS des GSM-Moduls leuchten und eine LED blinkt im 3 Sekunden Takt.
Habe den obigen Code mit hilfe dieser Quellen zusammengekleistert:
- avrhelp.mcselec.com/index.html?enable.htm
- avrhelp.mcselec.com/index.html?on_interrupt.htm
- avrhelp.mcselec.com/atxmega.htm?zoom_highlightsub=usarte0
- g-heinrichs.de/attiny/bascom-avr20manual%20201_11_7.pdf
- rowalt.de/mc/avr/avrboard/06/avrb06.htm
- rn-wissen.de/wiki/index.php?title=Bascom_Interrupts