logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

atmega8 [bascom] C35 komunikacja z uC

graffiti333 18 Mar 2009 11:07 3027 5
REKLAMA
  • #1 6297755
    graffiti333
    Poziom 10  
    Witam

    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.
  • REKLAMA
  • #2 6301656
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 6380023
    PiotrEtenM500
    Poziom 19  
    Problem rozwiązany, czy nadal są błędy, mam podobne problemy lecz modem się resetuje po wydaniu komendy bez względu czy jest podłączony do PC czy ATM8, co ciekawe robi to losowo nie zawsze choć często mu przytrafia. posiadam SIMCOM SIM300D zasilam z aku 3,7V uP i modem do PC podłączone mam przez MAX 2322.
  • REKLAMA
  • #4 6547994
    wicy
    Poziom 22  
    Podepnę się pod najświeższy temat o podłączaniu C35 do uP :)

    Zestawiłem połączenie z ATMega16, podpinając 5V bezpośrednio pod gniazdo baterii a linie TX i RX procesora bezpośrednio pod gniazdo komórki.
    Naczytałem się setki postów o podłączaniu linii TX/RX przez pullupy, zenery, maxy.. Ja podłączyłem bezpośrednio i wszystko działa już 3 dzień non stop. Transmisja w obie strony jest OK.
    Więc pytam o co w tym chodzi? Podłączyłem nie tak? Spalę coś? Jakoś trzeci dzień nic się spalić nie chce...
  • REKLAMA
  • #5 6548108
    pixel7
    Poziom 23  
    Te telefony mają logikę na poziomie 3.3V. Większość nie pracuje na poziomie 5V (objawem jest komunikat na wyświetlaczu "Szukam sieci") i kilka razy taki miałem przy bezpośrednim połączeniu. W każdym razie warto zastosować choćby dzielnik na opornikach na linii RX telefonu.
    W przypadku zasilania telefonu bez baterii ten problem nie występuje i raczej nie wyrządzi żadnych szkód. Ale co jeśli zabraknie prądu?
  • #6 6548520
    wicy
    Poziom 22  
    Błąd "Szukam sieci" pojawiał mi się nawet przy połączeniu kabelkiem C35->PC, przy niektórych programach.
    Przy obecnym połączeniu uP<->C35 (linia TX/RX bezpośrenio, bez baterii, zasilanie pod baterię 5V) błąd taki mi się nie pojawia. Jedyne co "wariuje" to wskaźnik naładowania baterii na LCD - pokazuje różne stany.

    Docelowo układ będzie pracował TYLKO w sytuacji włączenia prądu :) więc problem "jeśli zabraknie prądu" mnie akurat nie dotyczy :)
REKLAMA