-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!wsisiz.edu.pl!.POSTED!not-for-mail
From: Atlantis <m...@w...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: AVR - przerwania zewnętrzne, usypianie i budzenie
Date: Fri, 22 Feb 2013 19:00:27 +0100
Organization: http://www.wit.edu.pl
Lines: 33
Message-ID: <kg8bo1$f64$1@portraits.wsisiz.edu.pl>
References: <kg3hur$15n$1@portraits.wsisiz.edu.pl> <kg3kbm$97a$1@news.dialog.net.pl>
<kg5mhs$6ag$2@portraits.wsisiz.edu.pl> <kg6aul$tba$1@mx1.internetia.pl>
NNTP-Posting-Host: buk40.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: portraits.wsisiz.edu.pl 1361556033 15556 83.29.182.40 (22 Feb 2013 18:00:33
GMT)
X-Complaints-To: a...@w...edu.pl
NNTP-Posting-Date: Fri, 22 Feb 2013 18:00:33 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130215
Thunderbird/17.0.3
In-Reply-To: <kg6aul$tba$1@mx1.internetia.pl>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:643028
[ ukryj nagłówki ]W dniu 2013-02-22 00:26, Michoo pisze:
> Przykład 1 - Czytasz dane z GPS po UART i zapisujesz na kartę.
> - Procesor po starcie resetuje zewnętrzne urządzenia i przeprowadza
> inicjalizację.
No cóż... Mi chodziło o sytuację odwrotną - UNIKNIĘCIE resetowania
zewnętrznego urządzenia (moduł) GSM i napisanie kodu w taki sposób, żeby
ATmega po ewentualnym restarcie sama zorientowała się gdzie stoi.
Załóżmy, że sam uC (ale nie modem) wiesza się w trakcie aktywnej rozmowy
telefonicznej. Watchdog go restartuje, ale moduł GSM działa dalej (co
najwyżej chwilowo tracąc komunikację z Atmegą).
Procedura inicjacji modułu jest tak napisana, żeby radzić sobie z
sytuacją, kiedy natknie się na już zainicjowany moduł - wtedy zostawia
go w spokoju spokoju.
W pętli znajduje się instrukcja sprawdzająca podniesienie słuchawki.
Jeśli słuchawka zostanie podniesiona (lub program po włączeniu natknie
się na podniesioną słuchawkę) wykonuje się seria instrukcji (m.in.
wybudzenie modułu). Potem odwołuję się do funkcji, która wysyła
"AT+CPAS\r\n" na potem czeka na ciąg +:CPAS: 00". Gdy ciąg się pojawi
funkcja oczekuje jeszcze na ostatnią cyferkę i zwraca wartość
odpowiadającą znakowi ASCII.
Dalej jest instrukcja switch(), która w zależności od zwróconej wartości
podejmuje odpowiednie działanie:
- Jeśli moduł zgłosił gotowość - uruchomienie procedury wybierania numeru.
- Jeśli moduł zgłosił połączenie przychodzące - odebranie odebranie go i
uruchomienie procedury obsługującej rozmowę
- Jeśli moduł zgłosił już aktywne połączenie (poprzednia sesja,
przerwana przez reset) - uruchomienie procedury obsługującej połączenie.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
- jak szybko plynie prad
Najnowsze wątki
- 2024-11-20 "betamaxy" i inne voip-y dzisiaj
- 2024-11-21 Strach się bać
- 2024-11-21 Koniec smrodów
- 2024-11-20 Krematorium
- 2024-11-20 Taki tam szkolny problem...
- 2024-11-20 LIR2032 a ML2032
- 2024-11-20 SmartWatch Multimetr bezprzewodowy
- 2024-11-21 Środa Wielkopolska => Konsultant SAP <=
- 2024-11-21 Łódź => Spedytor Międzynarodowy <=
- 2024-11-21 Wrocław => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-21 Kraków => Lead Java EE Developer <=
- 2024-11-21 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-21 Warszawa => IT Recruiter <=
- 2024-11-20 Katowice => Administrator IT - Operating Systems and Virtualization <=
- 2024-11-20 Warszawa => Junior Account Manager <=