-
Data: 2010-03-04 23:51:07
Temat: Re: Powolność programatora STK500v2
Od: Grzegorz Kurczyk <g...@c...slupsk.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 04.03.2010 00:44, Adam Dybkowski pisze:
>
> W sterowniku dla Windows jest okienko ustawień zaawansowanych, gdzie
> można m.in. zmniejszyć czas oczekiwania przed wysłaniem danych (gdy
> bufor nie jest zapełniony, standardowo 16ms a minimalnie 1ms). Może masz
> gdzieś też upchnięte podobne ustawienia w Linuxie, albo można jest
> ustawić niestandardowym ioctl'em? Wtedy nie problem dodać to nawet w
> źródłach avrdude.
Choroba, pod Linuxem w ogóle jakoś dziwnie działa obsługa portów
szeregowych. Nawet na RS-ie czysto sprzętowym (normalny COM1 wbudowany w
płytę) ma taki dziwny efekt przy wysyłaniu krótkich paczek po kilka
bajtów. Przykładowo kawałek kodu w C.
int handle = 0;
handle = open("/dev/ttyS0", O_RDWR);
for(int i = 1000; i; i--) {
write(handle, "abcd", 4);
tcdrain(handle); // czeka na opróżnienie bufora nadajnika
}
close(handle);
daje mi taki efekt, że wysyłane są paczki po cztery bajty, a między nimi
jest 20ms przerwy !!! Poszperałem na góglu, ale znalazłem tylko ludzi
mających podobny problem (choć ta zwłoka nie była aż tak duża).
Pierwszy raz robię obsługę RS-a pod linuxem i trochę mnie to zmartwiło.
Znają Koledzy może jakiś parametr (coś w stylu timeouta), który
zmniejszałby tę zwłokę? Dziwne to trochę, bo o ile rozumiem zwłokę w
wysyłaniu w przypadku gdy FIFO nie jest jeszcze zapełnione (choć
nadajnik powinien rozpocząć nadawanie z chwilą pojawienia się pierwszego
bajtu w buforze), to w przypadku wymuszenia nadawania trochę to bez sensu.
Pozdrawiam
Grzegorz
Następne wpisy z tego wątku
- 05.03.10 06:29 hobgoblin
- 05.03.10 08:32 Grzegorz Kurczyk
- 05.03.10 08:40 Grzegorz Kurczyk
- 05.03.10 09:29 hobgoblin
Najnowsze wątki z tej grupy
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
- założyłem kamerę
- syrenki alarmów
- Czym obecnie programuje się EPROM-y?
- zagadka sieciowa
- W Polsce powstaje grawitacyjny magazyn energii
- Linux wciąż wspiera dyskietki. Porządki w sterownikach do FDD
- Koniec z instalacją niezatwierdzonych aplikacji na Androidzie
Najnowsze wątki
- 2025-09-08 Długi kabel zasilający a na końcu procek
- 2025-09-08 Dużo niższe temperatury procesora po obudzeniu komputera... tak ma być czy jest coś nie tak?
- 2025-09-08 Warszawa => Senior Fullstack Developer <=
- 2025-09-08 Warszawa => Head of Technology <=
- 2025-09-08 Pozbawianie obywatelstwa: Rosja olewa konstytucyjny zakaz "jak RP3"?
- 2025-09-08 Wrocław => Android Developer (Java) <=
- 2025-09-08 Warszawa => Programista C <=
- 2025-09-08 Warszawa => Software .Net Developer <=
- 2025-09-08 Polacy zbiednieli
- 2025-09-08 UK: Transparent "Sprzeciwiam się ludobójstwu. Popieram Palestine Action" => 890 "terrorystów" zatrzymanych
- 2025-09-08 Dlaczego nam nie idzie
- 2025-09-08 Co czujnik to inna temperatura
- 2025-09-07 alert mnie zbudził
- 2025-09-07 NOWE PRAWO NADCHODZI. KASKI I KARY DLA MŁODYCH KIEROWCÓW. DROGOWE ZERO
- 2025-09-07 Jak naprawić pilota