Witam:)
Artur_26 napisał(a):
A tak z ciekawości modem nie zwraca przypadkiem błędu, gdy niemożesz odczytać Smsa?
W tym przypadku nie dostaję błędu, żadnej odpowiedzi. Dlatego załączyłem PrintScrn aby było widać co przysyła modem i co nadaję do modemu. Ten przykład co podałem to w kolejności wygląda tak:
1. Modem mówi CMTI
2. uC stwierdza : o jest nowa wiadomość
3. Z +CMTI: "SM",16 wyciągam "16"
4. Sklejam ten nr z rozkazem "AT+CMGR="
5. Wysyłam cały rozkaz AT+CMGR=16 do modemu
I teraz zdarza się co nie jest regułą, że modem nic nie odpowiada, ani jednego znaku. Właśnie po to robię sobie podsłuch
lini Tx i Rx, które mam podłączone do dwóch portów RS232 w kompie. Dzięki temu widzę na bieżąco jak ze sobą rozmawia uC z modemem:)
A normalnym zachowaniem było, że jak wysyłałem SMSy do mojego modemu to układ odczytywał je normalnie.
Np dostałem CMTI z nr10 wysłałem CMGR z nr 10 i OK mam odczyt, za chwilę wysłałem kolejny SMS i otrzymałem CMTI z nr 11 i po wysłaniu CMGR z nr 11 poprawna odpowiedź. No to następny SMS wysyłam. Modem mówi CMTI z nr 12, wysyłam CMGR z nr 12 a modem milczy:(
Jeśli chodzi o kasowanie wiadomości to usuwam na raz wszystkie wiadomości z pamięci, więc wydaję mi się, że nie ma pustych miejsc. Twoja uwaga odnośnie występowania pustych miejsc jest bardzo cenna i na pewno sprawdzę co się dzieję jeśli skasuję środkową wiadomość. Do tej pory tego nie robiłem i zawsze kasowałem wszystkie wiadomości na raz:)
Bawiąc się komunikacją z modem z poziomu terminala PC, odbierając SMSy , odczytując "ostatni" zawsze odczytałem to co wysłałem przed otrzymaniem CMTI.
Po braku odpowiedzi, przełączam się na terminal PC i wysyłając komendę CMGR z "ostatnim" nr modem milczy:(
dopiero po resecie modemu i ponownym wysłaniu CMGR modem zwraca ostatnio wysłany prze zemnie SMS
Wysyłając CMGR z numerem większym od ostatniej wiadomości modem zwraca OK.
Wniosek nasuwa mi się jeden, że będę musiał wrócić do zabawy tym modemem z poziomu PC i terminala.
Acha jeśli wyśle błędnie jakieś komendy a są zakończone enterem to modem zwraca ERROR, bo takie przypadki ćwiczyłem na PC i terminalu.
Hmmm może uda mi się dojść za Twoją i innych pomocą do przyczyny takiego zachowania, bo podsuwacie dobre pomysły:), które warto sprawdzić.
Pozdrawiam