-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.
pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail
From: "Andy" <a...@c...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Atmega jak zrealizowac odbior szeregowy
Date: Tue, 20 Jul 2010 23:21:20 +0200
Organization: http://onet.pl
Lines: 70
Message-ID: <i2540i$h15$1@news.onet.pl>
References: <i24j95$g2h$1@news.supermedia.pl>
<5...@j...googlegroups.com>
<i24mgj$hj4$1@news.supermedia.pl>
<c...@w...googlegroups.com>
<i24q2l$j61$1@news.supermedia.pl>
<e...@k...googlegroups.com>
<i24v66$llo$1@news.supermedia.pl> <i24vrt$5a8$1@news.onet.pl>
<i2510m$mh7$1@news.supermedia.pl>
NNTP-Posting-Host: acc250.internetdsl.tpnet.pl
X-Trace: news.onet.pl 1279660882 17445 83.16.54.250 (20 Jul 2010 21:21:22 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Tue, 20 Jul 2010 21:21:22 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1437
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441
Xref: news-archive.icm.edu.pl pl.misc.elektronika:592385
[ ukryj 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
- Jak shakować windę
- Sterowanie bezprzewodowe do wbudowania
- NC vs NO
- Jak dzięki mojemu pomysłowi amerykańce z Google przyspieszyli TV
- Jak dzięki mojemu pomysłowi amerykańce z Google przyspieszyli TV
- Żyrandol w wersji ze ściemnianiem.
- Napięcie w gniazdku na wszystkich żyłach po wyłączeniu bezpieczników - zgłaszać do elektrowni?
- Elektryczna łapka i szerszeń
- moduł dtmf
- 0.5V
- Odbiór SDR na mikrokontrolerach
- Taki uziom....
- Nałożnica?
- ładowanie akku
- Mikrofala
Najnowsze wątki
- 2024-09-12 Z cyklu POJEBANA UE: samochody elektryczne nie mogą być tanie i dobre
- 2024-09-13 dodanie karty graf zawiesza komp
- 2024-09-13 Sezon grzewczy kurła
- 2024-09-13 Warszawa => Spedytor Międzynarodowy <=
- 2024-09-13 Warszawa => Mid Account Manager <=
- 2024-09-13 Warszawa => QA Engineer <=
- 2024-09-13 Białystok => Frontend Developer (Angular area) <=
- 2024-09-13 Warszawa => QA Inżynier <=
- 2024-09-13 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-09-13 Zabrze => Projektant/Expert PHP Laravel (e-commerce) <=
- 2024-09-13 Białystok => Programista Full Stack (.Net Core) <=
- 2024-09-13 Gdańsk => Software .Net Developer <=
- 2024-09-13 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-09-13 Warszawa => International freight forwarder <=
- 2024-09-13 Warszawa => Senior IT Project Manager <=