Witam
Robie włącznik/dialer gsm na C35 ale mam problem czasami z błędnym odczytywanie komend AT oto część kodu.
Problem jest w tym ze nie za kazdym razem po podlaczeniu zasilania chce poprawnie w pętli odczytać numery z karty sim, czasmi jest tak ze odczyta 2 jedego nie albo wcale.
Co robie zle ?
uC jest zasilany 5 V , telefon polaczony TX uC jest przez diode zenera 3 V RX bezposrednio do telefonu.
Robie włącznik/dialer gsm na C35 ale mam problem czasami z błędnym odczytywanie komend AT oto część kodu.
$regfile = "m8def.dat"
$crystal = 11059200
$baud = 19200
Wait 1
Print "ATX0" ; Chr(13)
Waitms 100
Print "ATZ" ; Chr(13)
Waitms 100
Print "ATE" ; Chr(13)
Waitms 100
Print "AT+CLIP=1" ; Chr(13)
Gosub Oproznij_bufor
For Licznik = 1 To 3
Print "AT+CPBR=" ; Licznik ; Chr(13) ' Pobiera telefony uprawnione do pamieci
Waitms 300
Call Odbierz_uart
' Waitms 200
Print #1 , Dane ; Chr(13)
Telefon = Mid(dane , 13 , 9) ' 13
Print #1 , " Tel" ; Telefon ; Chr(13)
Tel_eeprom = "48" + Telefon
Tel_tab_upr(licznik) = Tel_eeprom
Gosub Oproznij_bufor
Next Licznik
Oproznij_bufor:
Do
Kod = Inkey() 'Czyści bufor
Bufor = Ischarwaiting()
Dane = "0"
Loop Until Bufor = 0
Return
Odbierz_uart:
Dane = ""
Do
Kod = Inkey()
Dane = Dane + Chr(kod)
Bufor = Ischarwaiting()
Loop Until Bufor = 0 Or Kod = "13"
Return
Problem jest w tym ze nie za kazdym razem po podlaczeniu zasilania chce poprawnie w pętli odczytać numery z karty sim, czasmi jest tak ze odczyta 2 jedego nie albo wcale.
Co robie zle ?
uC jest zasilany 5 V , telefon polaczony TX uC jest przez diode zenera 3 V RX bezposrednio do telefonu.