-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED!not-for-mail
From: Atlantis <m...@w...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Brak komunikacji między Atmegą a modułem GSM po rs232
Date: Sat, 15 Dec 2012 18:07:13 +0100
Organization: http://www.wit.edu.pl
Lines: 73
Message-ID: <kaiaok$1d6$1@portraits.wsisiz.edu.pl>
References: <ka5cm1$mhd$1@portraits.wsisiz.edu.pl> <ka5e2c$lj0$1@node1.news.atman.pl>
<ka5hcc$o9i$1@portraits.wsisiz.edu.pl>
<ka5l1v$pp2$1@portraits.wsisiz.edu.pl> <ka5mfv$u2g$1@node1.news.atman.pl>
<ka5o4e$qus$1@portraits.wsisiz.edu.pl> <ka5rqv$u5p$1@mx1.internetia.pl>
<ka7vc3$1qf$1@portraits.wsisiz.edu.pl>
<g...@n...chmurka.net>
<kaansn$cp6$1@portraits.wsisiz.edu.pl>
<kadac0$ptr$1@portraits.wsisiz.edu.pl>
<50ca37de$0$26695$65785112@news.neostrada.pl>
<kade5t$rht$1@portraits.wsisiz.edu.pl>
<50ca5c8a$0$26694$65785112@news.neostrada.pl>
<kag17a$80e$1@portraits.wsisiz.edu.pl>
<a...@n...neostrada.pl>
<kag9ro$bbq$1@portraits.wsisiz.edu.pl>
<a...@n...neostrada.pl>
NNTP-Posting-Host: aaqx22.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: portraits.wsisiz.edu.pl 1355591253 1446 83.5.183.22 (15 Dec 2012 17:07:33
GMT)
X-Complaints-To: a...@w...edu.pl
NNTP-Posting-Date: Sat, 15 Dec 2012 17:07:33 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0
In-Reply-To: <a...@n...neostrada.pl>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:639205
[ ukryj nagłówki ]W dniu 2012-12-15 09:12, Marek pisze:
> Rozumiem ze to moduł 5V? Możesz mi podać jego model?
Wydawało mi się, że już wcześniej wspominałem. Moduł to Motorola D15.
Może pracować z napięciem zasilania od 3V do 6V.
Niezależnie od tego stan wysoki na liniach rs232 wynosi 5V. W tej chwili
się tym szczególnie nie martwię, bo Atmega zasilana jest ze
stabilizatora 5V, ale faktycznie ta kwestia chodzi mi po głowie, bo
docelowo układ ma być zasilany z akumulatorka 3,6V.
Będę wtedy chyba potrzebował jakiegoś level shiftera?
Manual podaje następującą informację.
The signal thresholds are:
Vih 2.0V min.
Vil 0.8V max.
Voh 4.4V min. @ 50uA or 3.8V min. @ 8mA.
Vol 0.1 max. @ 50uA or 0.44V @ 8mA.
> W dalszej części przez ze nie ma problemu przy komunikacji z komputerem
> a później masz wątpliwisci co do działania hyperterminala.
Po prostu starałem się doszukiwać przyczyn tam, gdzie tylko się dało.
Program pisałem w oparciu o wskazania HT, więc zacząłem nawet
podejrzewać, że to on coś ukrywał i mogłem tego nie uwzględnić w kodzie.
Wychodzi jednak na to, że przyczyna była zgoła inna...
> odpowiedzi może transmitowac kolejne polecenie. Kiedyś miałem podobny
> problem ze moduł dziwnie się zachowywał z mcu a w terminalu było
> prawidłowo. Był błąd w kodzie programu, mcu wysyłał kolejne polecenie w
> trakcie transmisji ostatniego \n z odpowiedzi poprzedniego polecenia i
> moduł albo się "przytykal" albo wysylal krzaczek.
No i to chyba będzie to... Dopiero wróciłem z pracy i nie miałem czasu
na eksperymenty, ale to najbardziej prawdopodobne wytłumaczenie. Po
prostu nie wiedziałem o tej własności modułu - sądziłem, że komunikaty
się kolejkują i wymiana informacji w obydwie strony odbywa się
niezależenie. Faktycznie dotychczasowy kod ma opisaną przez Ciebie cechę.
Krótko rzecz ujmując używam dwóch tablic: rx_buffer[] i last_line[]. Do
pierwszej napływają wszystkie znaki z modułu GSM, za wyjątkiem \n, które
są pomijane. Wystąpienie \r powoduje przepisanie wszystkich
poprzedzających go znaków z bufora do last_line[]. Pierwszy element
tablicy last_line[] pełni też funkcję flagi informującej o przyjęciu
odpowiedzi (kopiowanie odbywa się w przerwaniu, więc z punktu widzenia
reszty programu całość przybywa za jednym razem).
Jednak zgodnie z tym co piszesz po wystąpieniu \r moduł odbierał jeszcze
\n (tyle tylko, że go nigdzie nie zapisywał). Co więcej - w niektórych
przypadkach potem leciała jeszcze pusta linie (\r\n). A tymczasem flaga
była już postawiona i zaczynało się nadawanie kolejnej komendy...
Teraz zrobię to inaczej. Wystąpienie \n będzie inicjowało kopiowanie
danych z bufora do last_line[], aż do wystąpienia znaku \r. Wyjątkiem
będzie sytuacja, kiedy \r znajdzie się w pierwszym polu bufora - wtedy
zostanie on po prostu wyczyszczony (ignorowanie pustych linii).
Dodatkowo, przed nadaniem każdej komendy zastosuję opóźnienie.
BTW jeszcze pytanie natury formalnej. Jak inteligentny jest kompilator w
zakresie makrodefinicji zastępujących wartości liczbowe? Jeśli np. dam:
#define WARTOSC 31
a potem w programie dam:
if (zmienna < (WARTOSC-1))
To w którym momencie zostanie obliczona wartość? Podczas kompilacji, czy
też za każdym razem uC będzie sobie musiał odejmować jedynkę? ;)
Następne wpisy z tego wątku
- 15.12.12 19:02 Adam Wysocki
- 15.12.12 19:07 Adam Wysocki
- 15.12.12 19:14 Adam Wysocki
- 15.12.12 19:16 Adam Wysocki
- 15.12.12 19:19 Adam Wysocki
- 15.12.12 20:04 Marek
- 15.12.12 20:37 Atlantis
- 15.12.12 22:17 Marek
- 16.12.12 02:33 Adam Wysocki
- 16.12.12 15:01 Atlantis
- 19.12.12 10:42 Atlantis
- 19.12.12 10:50 Atlantis
- 23.12.12 15:42 Atlantis
- 23.12.12 23:45 Marek
- 23.12.12 23:50 Marek
Najnowsze wątki z tej grupy
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
Najnowsze wątki
- 2025-07-07 Re: Ząbki się spaliły jak wiejskie, drewniane stodoły sprzed 50 lat
- 2025-07-06 Kup szybko nową ładowarkę do smartfona
- 2025-07-07 TV z Play (dawniej UPC) -- potrzebny dekoder?
- 2025-07-06 Kup szybko nową ładowarkę do smartfona
- 2025-07-07 mija rok jeżdzenia po lewej
- 2025-07-06 Elektryki jednak są NIEBEZPIECZNE
- 2025-07-08 Fajny film widziałem...
- 2025-07-07 Re: Ząbki się spaliły jak wiejskie, drewniane stodoły sprzed 50 lat
- 2025-07-06 Kup szybko nową ładowarkę do smartfona
- 2025-07-07 Gdańsk => Programista Kotlin <=
- 2025-07-07 Białystok => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-07 Warszawa => Asystent ds. Sprzedaży i Rozwoju Klienta <=
- 2025-07-07 Warszawa => International Freight Forwarder <=
- 2025-07-07 Warszawa => Java Developer <=
- 2025-07-07 Białystok => Software Engineer .Net <=