Pokrewne
menu      Problem z wejście na forum i takie komunikat: Warning...
menu      kilka serwerow w ovh, komunikacja miedzy nimi
menu      Dziwny komunikat [błąd: Invalid default value for 'id']
menu      Niestety ale trzeba wydać forsę na komunię ;-). Co kupić?
menu      Bląd bazy MySQL zwrócił komunikat
menu      Moja stronka - komunikatory.ovh.org
menu      Komunikacja FAXowa z uzyciem niefaxowego modemu
menu      Festo FC640 i komunikacja po TCP/IP
menu      Komunikacja wykorzystujac siec elektryczna 220V
menu      Komunikaty w trakcie startu MySQL
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • blondiii.htw.pl
  • Mikrokontroler + modem - koncepcja komunikacji





    raF - 09-02-2007 19:45
    Mikrokontroler + modem - koncepcja komunikacji
      Witam
    Chciałbym sterować modemem GSM za pomocą ATmega8 lub wyższym w związku z czym po
    głowie chodzi mi taka koncepcja działania. Czy ide dobrą drogą?

    Kod:

    RESET:
    ; ustawienie początku stosu
    ; ustawienie prędkości transmisji
    ; inne ustawienia początkowe, przerwania itp

    Loop1: ; Tu realizacja głównych zadań czyli wysyłanie poleceń do
    modemu, odbieranie...

    rjmp Loop1

    USART_RXC: ; przerwanie gdy odebrano kompletny znak
    rcall RxAnal ; czy znak w ASCII=10 to koniec lini i analizuj to
    co w buforze (1)
    ; zapisz znak do bufora
    ; zwieksz index bufora dla ewentualnego zapisu kolejnego
    znaku
    reti

    RxAnal: ; analiza tego co przyszlo z modemu do znaku końca linii (2)
    ret

    USART_TXC: ; skopiowanie znaku z RAM do USART Register Description
    ;obsługa danej która będzie za każdym razem przy wywołaniu tego
    przerwania zmniejszała
    ; się jeden aby wskazywać kolejny znak do wysłania i tak do
    osiągnięcia wartości 0
    ; i jak osiagnie 0 to wyłączamy zezwolenia na przerwanie od
    "transmisji kompletnej"
    reti

    SendCmd: ; wysyłanie polecenia do modemu
    ; zapisanie w RAM kompletnego polecenia do wysłania
    ; sprawdzenie ile znaków do wysłania i zapis tej liczby do ram
    ; wysłanie znaku ENTER do modemu
    ; zezwolenie na przerwanie od zdarzenia "transmisja kompletna"
    ret

    (1) czy modem po odpowiedzi wysyła znak końca linii czy również powrotu karetki?
    (2) Mam na razie jedną koncepcję polegającą na porównywaniu tego co dostałem z
    wzorcami, tylko to dość czasochłonne i zawodne wg mnie ;(

    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





    Adam Dybkowski - 10-02-2007 02:45

      raF napisał(a):

    > Chciałbym sterować modemem GSM za pomocą ATmega8 lub wyższym w związku z czym po
    > głowie chodzi mi taka koncepcja działania. Czy ide dobrą drogą?

    Zdecydowanie nie. Napisz program raczej w języku C. Do takich zadań jak
    parsowanie odpowiedzi na komendy AT (szczególnie tych wieloelementowych,
    np. zapytanie o zapamiętane SMSy) i tak trzeba będzie napisać nieco
    kodu. A pisząc w czystym asemblerze urobisz się po pachy i stracisz masę
    czasu. Chociaż nie twierdzę, że nie da się - tylko po prostu nie ma
    sensu jeżeli ma to chodzić jak napisałeś na ATmega8 lub większym procu.

    Odnośnie pytań: komendy wysyłane do modemu zawsze kończ znakiem CR (13).
    Modem zawsze odpowiada kończąc linie znakami CR,LF (13,10). Takie jest
    ustawienie standardowe a AFAIR kod końca linii można zmienić którymś
    S-rejestrem.

    BTW: I nie nazywaj funkcji RxAnal. ;)

    --
    Adam Dybkowski
    http://www.amwaw.edu.pl/~adybkows/

    Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • konstruktor.keep.pl
  • Design by flankerds.com