-
Data: 2010-07-20 21:21:20
Temat: Re: Atmega jak zrealizowac odbior szeregowy
Od: "Andy" <a...@c...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Użytkownik "Chomik" <c...@h...pl> napisał w wiadomości
news:i2510m$mh7$1@news.supermedia.pl...
>
> >>
> >
> > ale w czym wlasciwie problem ?
> >
> > Ja pisze w C i nie znam bascoma ale da sie chyba zrobic licznika do 8 w
> > bascomie ?
> > Czy moze nie ma przesuniecia shifta na zmiennej ?
> >
> > Czy masz problem jak poszczegolne bity wkleic do zmiennej ?
> >
> > np odebrany bit ustawiasz na najstarszym bicie zmiennej
> > a nastepnie zmienna przesuwasz w prawo o jeden bit
> >
> > i robisz tak 8 razy i masz odebranych 8 bitow
> >
> Dla jednego bajtu nie problem. Bufor ma miec co najmniej 9 bajtow. To juz
> troche komplikuje i bascom zbyt czasochlonny kod by do tego robil wiec
wole
> w asm (C wogole nie znam ). Wiec jeszcze pozostaje mi rozszerzenie tego
> przesuwania na cale 9 bajtow.
>
Tablice chyba sa ?
Jesli masz juz jeden bajt to wrzucasz go do tablicy.
Typowe rozwiaznie to tzw. bufor okrezny (ring buffer).
Moze jest cos takiego gotowego w bascomie ?
Czyli tablica np. na 9 bajtow
(albo lepiej troche wiecej jesli zuzycie RAM'u nie jest krytyczne
to lepiej ze dwa razy wiecej, zalezy jak szybko dane przychodza i jak sa
obrabiane)
i dwa indeksy - indeks do zapisu i indeks do odczytu.
Gdy indeks dojdzie do konca tablicy to go "zawijasz" go czyli zerujesz
i idzie od pocztaku.
Wrzucenie do bufora:
zapis do tablicy pod indeksem na jaki wskazuje indeks do zapisania
zwiekszenie ideksu o 1 i sprawdznie czy wiekszy lub rowny rozmiarowi
tablicy a jesli tak to wyzerowanie.
Odczyt z bufora:
odczyt z tablicy z indeksu do odczytu, zwiekszenie indeksu o 1
i sprawdznie czy wiekszy lub rowny rozmiarowi tablicy a jesli tak to
wyzerowanie.
Gdy oba indeksy sa rowne tzn. nie ma nic w buforze a gdy rozne
to mozna odczytywac.
Trzeba jeszcze uwazac na przepelnienie bufora. Mozna dodac jakas zmienna
sygnalizujac przepelnienie.
Jesli z jakiegos powodu nie bedzie odczytu a beda kolejne zapisy
to dojdzie do sytuacji kiedy indeksy znow beda rowne
i jesli taka sytuacja nastapi to znaczy, ze w buforz jest max danych
i wiecej nie wejdzie. Warto wtedy ustawic jakas zmienna sygnalizujaca
overflow.
--
Andrzej
Następne wpisy z tego wątku
- 20.07.10 22:06 Gejzero
- 21.07.10 14:01 Chomik
- 21.07.10 13:58 Chomik
- 21.07.10 14:21 Andy
- 21.07.10 15:37 Chomik
Najnowsze wątki z tej grupy
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- 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?
Najnowsze wątki
- 2025-07-18 celnicy pobili policjanta
- 2025-07-18 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-18 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=
- 2025-07-18 Białystok => Kotlin Developer <=
- 2025-07-18 Warszawa => Sales Director (Cloud solutions) <=
- 2025-07-18 Spalinowa trauma
- 2025-07-18 Polska => Senior Key Account Manager <=
- 2025-07-18 Białystok => Programista Kotlin <=
- 2025-07-18 Szczecin => Key Account Manager IT <=
- 2025-07-18 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-18 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-18 Lublin => Delphi Programmer <=
- 2025-07-18 Lublin => Programista Delphi <=
- 2025-07-17 Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- 2025-07-17 Andrzej Duda ułaskawił Roberta Bąkiewicza od zarzutu zapchnięcia ze schodów aktywistki Babci Kasi