Witam,
Wiem że były podobne posty na ten temat ale nie wiem co z moim programem jest nie tak.
Gdy dzwonię na telefon podłączony do uC nic się nie dzieje. Komunikacja z telefonem działa bo wysyłałem przez uC różne komendy AT i odpowiadał.
gdy dzwonię nie mając tej częsci z rozpoznawaniem dzwoniącego to jeszcze obsługuje polecenia z programu a w tej sytuacji nic się nie dzieje
W terminalu jak dzwonię to wyświetla mi:
<Ring
<+CLIP: xxxxxxxxx,129 x-to mój numer
Co może być nie tak
Wiem że były podobne posty na ten temat ale nie wiem co z moim programem jest nie tak.
Gdy dzwonię na telefon podłączony do uC nic się nie dzieje. Komunikacja z telefonem działa bo wysyłałem przez uC różne komendy AT i odpowiadał.
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 19200
Config Serialin = Buffered , Size = 100
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portb.4 , Rs = Portb.5
Enable Interrupts
Declare Sub Oproznij_bufor
Declare Sub Odczytaj_uart
Declare Sub Odczytaj_sprzetowy_uart
Dim Ringtxt As Byte
Dim Ringtxt2 As Byte
Dim Bufor As Byte
Dim Ring As Byte
Dim Ring2 As Byte
Dim Kod As String * 100
Dim Dane As String * 200
Dim Stan As Bit
Dim I As Byte
Dim Dzw As Byte
Dim Dzwoniacy As String * 40
Dim Dzwtxt As String * 20
Ringtxt = "RING"
Ringtxt2 = "+CLIP:"
Stan = 0
Dzwtxt = "6"
Waitms 100
Print "ATX0" ; Chr(13) 'Odpowiadaj
Waitms 100
Print "ATZ" ; Chr(13) 'Ustaw domyślnie
Waitms 100
Print "ATE0" ; Chr(13) 'WYLACZ ECHO
Waitms 100
Print "AT+CLIP=1" ; Chr(13) 'Wlaczanie prezentacji numeru
I = 0
Gosub Oproznij_bufor
Do
Call Odczytaj_uart
Loop
Odczytaj_uart:
Bufor = Ischarwaiting() 'Sprawdz czy bufor pełny
If Bufor = 1 Then
Gosub Odczytaj_sprzetowy_uart
Ring = Instr(dane , Ringtxt)
If Ring > 0 Then
Waitms 200
Gosub Odczytaj_sprzetowy_uart
Gosub Odczytaj_sprzetowy_uart
Print "ATH" ; Chr(13)
'Gosub Oproznij_bufor
Waitms 100
Dzw = Instr(dane , Dzwtxt)
'Dzw = Dzw + 5
Dzwoniacy = Mid(dane , Dzw , 9)
If Dzwoniacy = "693758731" Then
Lcd "Krzych"
End If
'Incr I
'Locate 1 , 1
'Lcd "telefon " ; I
End If
End If
Gosub Oproznij_bufor
Return
Oproznij_bufor:
Do
Kod = Inkey() 'Czyści bufor
Bufor = Ischarwaiting()
Dane = ""
Loop Until Bufor = 0 Or Kod = "13"
Return
Odczytaj_sprzetowy_uart:
Dane = ""
Do 'Odbierz znak po znaku
Kod = Inkey()
Dane = Dane + Chr(kod) 'Zapisz w Uart_txt
Bufor = Ischarwaiting() 'Zakoncz jeśli CR lub brak znaku
Loop Until Bufor = 0 Or Kod = "13"
Return
gdy dzwonię nie mając tej częsci z rozpoznawaniem dzwoniącego to jeszcze obsługuje polecenia z programu a w tej sytuacji nic się nie dzieje
W terminalu jak dzwonię to wyświetla mi:
<Ring
<+CLIP: xxxxxxxxx,129 x-to mój numer
Co może być nie tak