-
Data: 2012-12-15 20:04:14
Temat: Re: Brak komunikacji między Atmegą a modułem GSM po rs232
Od: Marek <f...@f...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Sat, 15 Dec 2012 18:07:13 +0100, Atlantis <m...@w...pl>
wrote:
> Niezależnie od tego stan wysoki na liniach rs232 wynosi 5V. W tej
chwili
Pisząc rs232 nasz na myśli usart mcu? Używasz jakieś przejściówki
usart<->rs232 czy usart<->usb w przypadku łączenia się z pc?
> Będę wtedy chyba potrzebował jakiegoś level shiftera?
jeśli atmega nie może na 3.3v, to owszem albo level shifter ale można
też obniżyć dzielnikami a podciagnac dioda + rez. osobiście używałem
ten drugi sposób z powodzeniem.
> Krótko rzecz ujmując używam dwóch tablic: rx_buffer[] i
last_line[]. Do
ja jestem zwolennikiem buforu odbiorczego typu ring, które wypełnia
przerwanie po odbiorze znaku + funkcje odczytu zawartosci bufora.
Algorytm to m.in. dwie funkcje (w psedokodzie):
wyslij("at&f\r\n");
czekajna("OK\r\n", 1000);
Pierwsza wysyła string polecenia, druga odczytuje bufor (nie będę
wnikał w obsługę bufora, sloty itp. ) czekając aż się pojawi
oczekiwany string w określonym czasie (timeout w ms), jeśli się nie
pojawi to funkcją zwraca błąd, który możemy obsłużyć. Bufor ring
bardzo ładnie jest opisany wraz z przykładami w nocie an2120 dla
m68hc08, polecam. Oczywiście ważne jest aby do funkcji oczekującej
podawać "cały koniec" oczekiwanego stringu (wraz z "\r\n") aby nie
doprowadzić do zbyt wczesnego nadania kolejnego polecenia.
> 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ę? ;)
Nie powinien przy włączonej optymalizacji (to się chyba nazywa
constant folding), po prostu sprawdzi czy,zmienna<30. Ale to zalezy
od kompilatora i włączonego poziomu optymalizacji.
--
Marek
Następne wpisy z tego wątku
- 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
- 24.12.12 11:39 J.F.
- 24.12.12 16:41 Marek
- 26.12.12 11:24 Atlantis
- 09.01.13 20:16 Atlantis
- 09.01.13 23:45 Grzegorz Niemirowski
- 10.01.13 19:02 Atlantis
Najnowsze wątki z tej grupy
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- Microsoft, C/C++ na Rust - news
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
- Zegary DCF
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
Najnowsze wątki
- 2026-01-06 Metoda na fotoradar
- 2026-01-05 I jeszcze jeden
- 2026-01-05 Jaworek;)
- 2026-01-05 Warszawa => Project Manager (AI and innovation) <=
- 2026-01-05 Gdańsk => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2026-01-05 Jeśli nie było "aktu wojny" to była "zorganizowana grupa przestępcza" (terroryści) dokonująca zabójstw?
- 2026-01-05 Walka Lewicy o B2B na etat
- 2026-01-05 zamiana B2B na etat
- 2026-01-05 Wykonanie w USA zagranicznych nakazów aresztowań bez udziału USA na (byłych) prezydentów też będzie legalne?
- 2026-01-04 Apollo Comm
- 2026-01-04 Kupować SREBRO?
- 2026-01-04 PICkit3 mnie pokonał
- 2026-01-03 LEDy na choinkę zdechły
- 2026-01-03 Wenezuela
- 2026-01-03 Wtopa LED




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]