Jak już wspominałem w innym wątku w ramach nauki programowania buduję właśnie interfejs, który pozwoli skomunikować moduł GSM z pozostałościami starego, polskiego telefonu RWT, tworząc unikalną "komórkę".
Miałem wrażenie, że projekt (a przynajmniej jego strona cyfrowa) jest już na ukończeniu. Wszystko było w porządku, gdy testowałem urządzenie za pomocą terminala na pececie. Mikrosterownik ładnie odczytuje numery z tarczy, reaguje na poniesienie i odłożenie słuchawki, wysyła we właściwym momencie określone komendy AT. Również modem GSM ładnie komunikuje się z komputerem.
Przeszedłem więc do następnego etapu, łącząc obydwie płytki. I tu zaczęły się schody... Komunikacja zawodzi. Podpiąłem wejście modułu max3232 połączonego do komputera do linii nadawczej modemu i Atmegi, podsłuchując przelatujące komunikaty. Okazuje się, że odpowiedzi modemu są zniekształcone o dodatkowe "krzaczki" (załączony plik tekstowy). Nie są one przypadkowe, powtarzają się za każdym razem. Przypominam, że przy testach przeprowadzonych za pomocą komputera ich nie było, więc to raczej nie błąd w programie...
Spróbowałem oddzielnego zasilania obydwu płytek - nie pomogło.
Powoli kończą mi się pomysły... Co może być powodem? Może fakt zastosowania wewnętrznego rezonatora RC Atmegi, a nie kwarcu? Obecne taktowanie to 8MHz.
Na chwilę obecną kod źródłowy wygląda następująco:
Miałem wrażenie, że projekt (a przynajmniej jego strona cyfrowa) jest już na ukończeniu. Wszystko było w porządku, gdy testowałem urządzenie za pomocą terminala na pececie. Mikrosterownik ładnie odczytuje numery z tarczy, reaguje na poniesienie i odłożenie słuchawki, wysyła we właściwym momencie określone komendy AT. Również modem GSM ładnie komunikuje się z komputerem.
Przeszedłem więc do następnego etapu, łącząc obydwie płytki. I tu zaczęły się schody... Komunikacja zawodzi. Podpiąłem wejście modułu max3232 połączonego do komputera do linii nadawczej modemu i Atmegi, podsłuchując przelatujące komunikaty. Okazuje się, że odpowiedzi modemu są zniekształcone o dodatkowe "krzaczki" (załączony plik tekstowy). Nie są one przypadkowe, powtarzają się za każdym razem. Przypominam, że przy testach przeprowadzonych za pomocą komputera ich nie było, więc to raczej nie błąd w programie...
Spróbowałem oddzielnego zasilania obydwu płytek - nie pomogło.
Powoli kończą mi się pomysły... Co może być powodem? Może fakt zastosowania wewnętrznego rezonatora RC Atmegi, a nie kwarcu? Obecne taktowanie to 8MHz.
Na chwilę obecną kod źródłowy wygląda następująco:
Kod: C / C++
