Jestem świeży w temacie i mam elementarny problem.
W sposób właściwy podłączyłem telefon z µP (dzięki temu forum).
Do przetestowania dwukierunkowej komunikacji (zapytanie-odpowiedź) z Siemens S35i wykorzystałem program użytkownika arkadius - delikatnie zmodyfikowałem wyświetlanie komunikatów na lcd µP.
Kod cały programu zamieszczę poniżej a teraz pytanie:
Dlaczego w odpowiedzi otrzymuję AT(...i 2 spacje) a nie odpowiedź na zapytanie czyli OK?
Próbowałem też innych komend np. AT+CGSN - zapytanie o IMEI - efekt podobny w odpowiedzi: AT+CGSN(...i 2 spacje)
Za pomoc z góry wielkie dzięki.
W sposób właściwy podłączyłem telefon z µP (dzięki temu forum).
Do przetestowania dwukierunkowej komunikacji (zapytanie-odpowiedź) z Siemens S35i wykorzystałem program użytkownika arkadius - delikatnie zmodyfikowałem wyświetlanie komunikatów na lcd µP.
Kod cały programu zamieszczę poniżej a teraz pytanie:
Dlaczego w odpowiedzi otrzymuję AT(...i 2 spacje) a nie odpowiedź na zapytanie czyli OK?
Próbowałem też innych komend np. AT+CGSN - zapytanie o IMEI - efekt podobny w odpowiedzi: AT+CGSN(...i 2 spacje)
Za pomoc z góry wielkie dzięki.
$regfile = "m32def.dat" 'informuje kompilator o pliku dyrektyw mikrokontrolera
Set Portc.1 'podswietlenie lcd
$crystal = 8000000 'informuje kompilator o częstotliwości oscylatora taktującego mikrokontroler
$baud = 19200
Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7
Config Lcd = 16 * 2
Const Sizebuff = 200
Config Serialin = Buffered , Size = Sizebuff 'konfiguracja bufora odbioru
Dim Bajt As Byte
Dim Odb_txt As String * 200 'odb_txt do odbioru danych z telefonu
Dim Test As Byte
Enable Interrupts 'uruchom przerwania
Cls 'czyszczenie LCD
Wait 1 'czekaj 1 sek.
'Print "ATE0" 'wyłącz echo
Print "ATE0" ; Chr(13)
'---------------------------------
'Program główny
Do
Wait 1
Cls
'Lcd "wysylam zapytanie"
Lcd "sending qry"
Wait 2
Print "AT" ; Chr(10) ; Chr(13)
Wait 1
Cls
'Lcd "zapytanie wyslane"
Lcd "qry sended"
Wait 1
Cls 'zaczekajmy moment
If Bufspace(1) <> 200 Then 'jeżeli coś jest w buforze
Cls
Lcd "sth in buff"
Wait 3
Gosub Dane 'przejdź do programu dane
End If
Loop
End 'koniec programu
'---------------------------------
'Podprogram odbierania danych
Dane:
Odb_txt = "" 'wyczyść odb_txt
While Bufspace(1) < Sizebuff 'dopuki jest coś w buforze
Bajt = Inkey() 'pobierz znak
Cls
Lcd "Bajt: " ; Bajt
Wait 3
If Bajt <> 13 And Bajt <> 10 Then 'jeżeli nie jest to znak CR lub LF
Odb_txt = Odb_txt + Chr(bajt) 'dodaj znak do Odb_txt
Else 'w przeciwnym wypadku
Odb_txt = Odb_txt + " " 'zastąp je spacją
End If
Wend
Cls
Lcd "receiving"
Wait 3
Cls
Lcd "re: " ; Odb_txt
Wait 3
Cls
Lcd "and what?"
Wait 3
Return 'end program
