orideith napisał(a):
Mirek, źle mnie zrozumiałeś, tam zakomentowane jest przerwanie, bo z nim nie działało,
Widziałem że jest zakomentowane ale to kolejny twój błąd - a to z tego powodu że nie do końca zrozumiałeś na jakiej zasadzie wysyła się dane przez UART
![Smutny :(](https://forum.atnel.pl/images/smilies/icon_e_sad.gif)
.... no zobacz - potem w timerze masz:
Kod:
UDR = UART_TxBuf[UART_TxTail];
to jest straszny ZONK
![Smutny :(](https://forum.atnel.pl/images/smilies/icon_e_sad.gif)
bufor cykliczny przygotowany jest SPECJALNIE, podkreślam SPECJALNIE do współpracy z przerwaniami - naprawdę MUSISZ jeszcze raz o nim przeczytać rozdział, a ty sobie niefrasobliwie - bo coś tam nie działało - na zasadzie "a może się uda" przeniosłeś kod z przerwania UART'a do przerwania Timera - w takim wykonaniu BĘDZIE SIĘ TO GRYZŁO niestety
![Smutny :(](https://forum.atnel.pl/images/smilies/icon_e_sad.gif)
orideith napisał(a):
bibliotekę sprawdzę (ds), tą wcześniej używałem dlatego dałem.
A ok, no rozumiem ... ale polecam ci jednak tą z książki, tylko nie myśl że chodzi mi tu o propagowanie mojej biblioteki bo jest najlepsza na świecie - tak nawiasem mówiąc to nie moja biblioteka i podaję w książce autora, ja ją tylko co nieco zmodyfikowałem.
orideith napisał(a):
Z jednej strony z tym wysyłaniem naraz masz racje, ale danych będzie więcej. I przyznam się szczerze, że nie wiem jak policzyć czy się zmieszczę,
Jeśli chodzi o wysyłanie z poziomu pętli głównej to nie musisz nic liczyć - WSZYSTKO zmieścisz
orideith napisał(a):
Dane będą miały format mniej więcej
temperatura (liczba czujników 1 do 20) wilgotność (1-5) (inne parametry sztuk 5-10) i to za jednym ciągiem wysyłane, w jakim czasie je powinienem wysyłać?, kiedy tak naprawdę zabraknie mi czasu przy wysyłaniu bez bufora, prędkość mam 9600 ale i 115200 działa ok bo mam 14745600 kwarc więc mogę więcej wyciągnąć.
Ty się nie martw na zapas
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
bo ja myślę że przy 9600 się zmieścisz a przy 115200 to zapomnij nawet o tym żeby się w najmniejszym stopniu martwić o to czy zdążysz ?
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
... raczej musiałbyś się starać o to aby zapchać taką transmisję
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
orideith napisał(a):
Czy te wszystkie dane pakować do jednej zmiennej dać w pętli uart_putc czy inaczej się to rozwiązuje?, chciałbym to w jednej linii dać bo jedna paczka to jeden rekord w bazie danych
Pozdrawiam i dzięki za poprzednie odpowiedzi
ZDECYDOWANIE można w jednej paczce - w jednej linii. Zwracaj tylko uwagę na rozmiary tej wypychanej linii względem wielkości buforów cyklicznych (nadawczych)
reasumując - wszystko ci się uda - tylko najpierw do testów - próbuj zrobić porządek na mniejszym kodzie testowym z wysyłaniem mniejszej ilości ale POPRAWNIE a nie w taki sposób OK ?