[AVR asm] Programowe FIFO

Oct 23, 2005 2 Replies

Poszukuje przykladu programowego FIFO zawierajacego:



-procedury realizujace zapis i odczyt bajtu z kolejki



-flagi "fifo puste" i "fifo pelne"



-rozmiar bufora ok. 768 bajtow pozdro


Nie mam pod reka probki programu ale poszukaj sobie algorytmu na "circular buffer" Robisz bufor w ktory ma okreslony pierwszy element i ostani element. Jak piszesz to sapisujes wd pointera do ostaniego i robisz zwikszenia pointera a jak dojdziesz do ostaniego bajtu przestrzeni przeznaconej na bufor to dajesz adres na pierszy bajt obszau pamieci przenaczonej na bufor. Musisz za kazda operacja czytania sprawdzic czy bufor juz jest pusty pointer (znacznik?) poczatku i koncza sa sobie rowne. Wtedy ustawasz od zera (szybsze) a jak ribusz zapis to zpradzasz czy bufor jest pelny. Jak pelny to musisz cos zrobic. Albo zpisujesz na tym co bylo albo nie pozwalasz na zapis. Zalezy od zastosowania. Mam nadzieje ze to wytlumaczylem a jak nie to moze ktos to lepiej zrobi. Pozdro Grzechu

Jest na stronie BTC jako jeden z przykladow do ksiazki Baranowskiego "AT Mega w Praktyce".

Pozdrawiam, Pawel

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required