Hallo,
ich knabber seit geraumer Zeit an einem Problem mit einem SIM800L Modul. Es hängt an einem ATMEGA8 und am PC. Verschaltet hab ich es nach dem angehängten Plan. Kontrollieren tue ich es mit zwei Fenster von Termite 3.4. Mit dem einen Fenster protokolliere ich die Antworten des Moduls auf dem PC, mit dem Anderen protokolliere ich was der MC empfängt. Leider schickt mir der MC nicht das was das Modul an den PC sendet. Die Protokolle sind im zweiten Anhang.
Ich denke ich hab irgendwas in meinem Programm nicht korrekt gemacht aber so kompliziert ist das ja wohl nicht. Trotzdem, ich habe eine geistige Blockade. Finde den Fehler einfach nicht.
Alles anzeigen
ich knabber seit geraumer Zeit an einem Problem mit einem SIM800L Modul. Es hängt an einem ATMEGA8 und am PC. Verschaltet hab ich es nach dem angehängten Plan. Kontrollieren tue ich es mit zwei Fenster von Termite 3.4. Mit dem einen Fenster protokolliere ich die Antworten des Moduls auf dem PC, mit dem Anderen protokolliere ich was der MC empfängt. Leider schickt mir der MC nicht das was das Modul an den PC sendet. Die Protokolle sind im zweiten Anhang.
Ich denke ich hab irgendwas in meinem Programm nicht korrekt gemacht aber so kompliziert ist das ja wohl nicht. Trotzdem, ich habe eine geistige Blockade. Finde den Fehler einfach nicht.
Quellcode
- $regfile = "m8adef.dat" ' eingesetzter Mikrocontroller
- $crystal = 8000000 ' eingestellte Taktfrequenz
- $hwstack = 60
- $swstack = 40
- $framesize = 100
- 'Serielle Communication
- Config Serialin0 = Buffered , Size = 30 , Bytematch = 13 '13
- $baud = 9600 '19200
- Echo Off
- Declare Sub Betriebszustandsanzeige
- Declare Sub Taster_1()
- Declare Sub Taster_2()
- Declare Sub Taster_3()
- Handlebar_1 Alias Pinb.1 : Config Handlebar_1 = Input 'eingang mit pullup Portb.1 = 1
- Handlebar_2 Alias Pinb.2 : Config Handlebar_2 = Input
- Handlebar_3 Alias Pinb.3 : Config Handlebar_3 = Input
- 'Ports out
- Config Portc = Output 'gesamten Port c als Ausgabeport
- Led_4 Alias Portc.4
- Led_3 Alias Portc.3
- Led_2 Alias Portc.2
- Led_1 Alias Portc.1
- Led_0 Alias Portc.0
- 'Config Portd.7 = Output
- Open "comd.7:9600,8,N,1" For Output As #2
- 'Timer
- Config Timer1 = Timer , Prescale = 256
- Enable Timer1 'bei 8 Mhz
- Timer1 = 34286 '49111 '49111=1sec, 34286=2sec, 18661=3sec, 3036=4sec, 46005+prescale=256=5sec
- On Timer1 Anzeigen
- '################################################### Variablen ###############################################
- Dim Sekunden As Byte
- Led_0 = 1 : Led_1 = 0 : Led_2 = 0 : Led_3 = 0 : Led_4 = 0 : Waitms 300
- Led_0 = 0 : Led_1 = 1 : Led_2 = 0 : Led_3 = 0 : Led_4 = 0 : Waitms 300
- Led_0 = 0 : Led_1 = 0 : Led_2 = 1 : Led_3 = 0 : Led_4 = 0 : Waitms 300
- Led_0 = 0 : Led_1 = 0 : Led_2 = 0 : Led_3 = 1 : Led_4 = 0 : Waitms 300
- Led_0 = 0 : Led_1 = 0 : Led_2 = 0 : Led_3 = 0 : Led_4 = 1 : Waitms 300
- Led_0 = 0 : Led_1 = 0 : Led_2 = 0 : Led_3 = 0 : Led_4 = 0 : Waitms 500
- Enable Interrupts 'Interrupts zulassen
- '######################################## Hauptschleife #############################
- Do
- Debounce Handlebar_1 , 1 , Taster_1 , Sub
- Debounce Handlebar_2 , 1 , Taster_2 , Sub
- Debounce Handlebar_3 , 1 , Taster_3 , Sub
- Loop
- End
- '##################################### Ende Hauptschleife ####################################
- 'Timer
- Anzeigen: 'Betriebsanzeige
- Timer1 = 34286 '49111 'Timer auf 1 sekunde
- Incr Sekunden
- Gosub Betriebszustandsanzeige
- Return
- Sub Betriebszustandsanzeige
- Toggle Led_0
- 'Print #2 , "Hi"
- End Sub
- Sub Taster_1:
- Led_4 = 0
- While Handlebar_1 = 1
- Toggle Led_1 : Waitms 100
- Wend
- Led_1 = 0
- Print "AT" ; Chr(13) ;
- End Sub
- Sub Taster_2:
- Led_4 = 0
- While Handlebar_2 = 1
- Toggle Led_2 : Waitms 100
- Wend
- Led_2 = 0
- Print "at+cpin=1111" ; Chr(13) ;
- End Sub
- Sub Taster_3:
- Led_4 = 0
- While Handlebar_3 = 1
- Toggle Led_3 : Waitms 100
- Wend
- Led_3 = 0
- Print "atz" ; Chr(13) ;
- End Sub
- '##################################### Serielle Kommunikation ####################################
- 'Achtung!!!! Die Gegenseite darf nur CR anhängen!!!!!
- Serial0charmatch:
- Led_4 = 1
- Dim Incoming_data As String * 30
- Input Incoming_data Noecho 'Daten vom Buffer auslesen,
- Print #2 , Incoming_data
- Return