Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 24 kwi 2024, o 17:26


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 31 paź 2014, o 18:15 
Offline
Nowy

Dołączył(a): 31 paź 2014
Posty: 2
Pomógł: 0

Witam
Mam podłączony uC Atmega328p (Kwarc 16MHz) przez port serial + układ MAX232 do komputera i przesyłam do komputera dane z ADC.
W serial monitorze wszystko wygląda dobrze (zmiany widoczne są natychmiast), natomiast gdy używam do tego napisanego wcześniej programu w C# w celu rysowania wykresu dane są bardzo wolno buforowane i wynik jest wyświetlany dopiero po dłuższej chwili.

Nie pisałbym może na tym forum, tylko jakimś dotyczącym C#, gdyby nie to, że dane przesyłane do tego samego programu z Arduino Leonardo są przetwarzane bez żadnych problemów i zmiany są widoczne natychmiastowo.

Jaka może być różnica w danych wysyłanych przez Arduino (funkcja Serial.println()) i wysyłanych w sposób podany poniżej? W jaki sposób mogę wysłać dane tak, aby były interpretowane przez program tak jak dane z Arduino?

Z góry dziękuję za pomoc i przepraszam jeśli zadaję głupie pytanie, ale jestem bardzo początkujący.

Przesyłam kod programu uC dotyczący wysyłania danych na port serial:

Cytuj:
void serialstart()
{
UCSR0B |= (1<<RXEN0) | (1<<TXEN0);
UCSR0C |= (1<<UCSZ00) | (1<<UCSZ01);
UBRR0H = (BAUD_PRESCALE >> 8);
UBRR0L = BAUD_PRESCALE;
}


Fragment kodu odpowiedzialny za wysyłanie danych do uC (snd - tablica char zawierające dane ADC o wielkości size)
while(size>=0)
{
while(!(UCSR0A & (1<<UDRE0)));
UDR0=snd[size];
size--;
}
while(!(UCSR0A & (1<<UDRE0)));
UDR0 = '\n';
while(!(UCSR0A & (1<<UDRE0)));
UDR0 = '\r';
}




Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 paź 2014, o 19:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 maja 2014
Posty: 317
Pomógł: 19

Obstawiam, że chodzi o biblioteki jakich używa arduino, ale po pierwsze Kolego wojczer proponuję:
- wstaw kod gdzie zdefiniowana jest funkcja Serial.println()
- spróbuj napisać to w zwykłym C
Wówczas pewnie będzie więcej odpowiedzi mogących Tobie pomóc.

Pozdrawiam! j23 Jarek

_________________
"O sygnałach bez całek" Czesław Frąc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 paź 2014, o 22:38 
Offline
Nowy

Dołączył(a): 31 paź 2014
Posty: 2
Pomógł: 0

Problem rozwiązany, dziękuję za pomoc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO