-
Data: 2015-01-29 08:36:13
Temat: Re: Stabilność ESP8266
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2015-01-28 o 16:23, Marek pisze:
> Oj to dużo pisania, trochę nie na temat grupy. Ale tak ogólnie to są
> dwie ważne sprawy, pierwsza to prawidłowa obsługa bufora cyklicznego
> fifo, do którego pisze przerwanie uarta po odebraniu znaku. Bardzo
> fajnie jest to opisane w tym dokumencie (od strony 36)
Z buforami cyklicznymi akurat jakoś sobie radzę - stosuję je standardowo
w swoich projektach, zarówno po stronie odbiorczej, jak i nadawczej.
> (nota bene dokument opisuje fajną minimalistyczną implementację
> ppp/tcp/udp na 8 bit mcu, sprawdzone, działa). Drugi bufor, to podręczny
> bufor api (aplikacyjny), do którego są "wyciągane" z fifo kolejne znaki
> i na podstawie jego zawartości api przełącza się w odpowiednie stany,
> obsługujące dane zdarzenie. Druga sprawa to opisanie wszystkich
> możliwych stanów maszyny.
Hmm... Czyli krótko mówią mogę zrobić to np. za pomocą tablicy, w której
będę trzymał typ strukturalny złożony z łańcucha tekstowego (wszystkie
możliwe komendy zmieniające stan) oraz jakiejś zmiennej (np. enum)
określającej ten stan.
Potem w pętli głównej cyklicznie pobieram kolejny znak z bufora
cyklicznego i na bieżąco sprawdzam (strncasecmp_P) czy zawartość bufora
pokrywa się z którymś z tekstów umieszczonych w tabeli. Jeśli tak -
ustawiam przypisany mu stan.
Oczywiście to, co odbywa się w danym momencie w pętli głównej musiałoby
zależeć od obecnego stanu - inaczej program zachowywałby się podczas
oczekiwania na komendę, inaczej podczas odbierania znaków składających
się na SMS-a albo nadchodzące dane TCP.
Następne wpisy z tego wątku
- 29.01.15 14:13 Marek
- 29.01.15 17:55 Atlantis
- 29.01.15 18:27 Marek
- 29.01.15 18:37 Atlantis
- 30.01.15 09:33 Atlantis
- 30.01.15 11:22 Atlantis
- 30.01.15 13:50 Marek
- 30.01.15 15:34 Atlantis
- 30.01.15 15:57 jacek pozniak
- 30.01.15 16:07 Atlantis
- 30.01.15 16:08 Atlantis
- 30.01.15 16:43 jacek pozniak
- 30.01.15 17:43 Atlantis
- 30.01.15 20:22 jacek pozniak
- 30.01.15 20:53 jacek pozniak
Najnowsze wątki z tej grupy
- Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
- Znów czary (albo niewiedza) - tym razem fotowoltaika
- Chess
- Vitruvian Man - parts 7-11a
- przeźroczyste koszulki
- Re: Win 10/11 nie lubi OKI
- Programator czasowy TUYA.
- Dlaczego energia elektryczna jest droga i cały czas drożeje
- twardy dysk stuka
Najnowsze wątki
- 2024-05-14 Białystok => ERP Implementer <=
- 2024-05-14 Przerabianie na Indonezje
- 2024-05-14 Kielce => UX/UI Designer <=
- 2024-05-14 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-05-14 Prowadzenie działalności za kogoś - to legalne?
- 2024-05-14 nieletni na plaży naturystów
- 2024-05-13 Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- 2024-05-13 Szczecin => Realtime (C) Software Developer <=
- 2024-05-13 ekran sie odspaja
- 2024-05-13 Wrocław => ERP Implementation Consultant <=
- 2024-05-13 Marki => Senior DevOps Engineer <=
- 2024-05-13 Białystok => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-13 Warszawa => Key Account Manager <=
- 2024-05-13 Warszawa => Senior Account Manager (on-site) <=
- 2024-05-13 Zielona Góra => Engineer R&D Energy Electronics <=