LCD na HD4478

Jul 06, 2004 7 Replies

Witam,



podlaczylem sobie taki wyswieytlacz (1x40) i wszysko bylo by w porzadku gdyby text wyswietlany byl szybciej(a moze taka predkosc to norma). Tj, zapisanie pelnych 40 znakow zajmuje jakies 1,5-2s. W funkcji zapisu znaku jest nanosleep() czekajacy 40ns. Istnieja moze jakies inne sposoby zeby text pojawiaj sie z predkoscia niezauwazalna dla oka ?



pozdr Bwa


man nanosleep, rozdział BUGS.

w.

Czyli wystarczy tylko zmienić priorytet/politkę schedulera i po problemie?

"As some applications require much more precise pauses (e.g., in order to control some time-critical hardware), nanosleep is also capable of short high-precision pauses. If the process is scheduled under a real-time policy like SCHED_FIFO or SCHED_RR, then pauses of up to 2 ms will be performed as busy waits with microsecond precision."

  1. program musi być uruchamiany przez root-a lub mieć ustawiony suid root,
  2. busy waiting IMO nie jest elegancki.

Regards, /J.D.

Czy ja moge spytac do czego jest ten lcd przylaczony ?

Ba tak nie bardzo dowierzam w precyzyjne odmierzanie 40 ns .. A jak widac to raczej 40 ms wychodzi...

J.

zgadza się.

#include <sched.h>

struct sched_param p; memset(&p, 0, sizeof(p)); p.sched_priority = 1; sched_setscheduler(0, SCHED_RR, &p);

i można się bawić w proste aplikacje real-time. inna sprawa, że wtedy inne nie skorzystają z procesora, póki nie odda się kontroli systemowi, więc bardziej eleganckim rozwiązaniem na serwerach byłoby korzystanie z /dev/parport zamiast outb().

w.

W artykule <ccgfbc$gno$ snipped-for-privacy@atlantis.news.tpi.pl> Wojtek Kaniewski napisał(a):

Albo skorzystać z dobrodziejstw biblioteki "parapin".

Nie szkodzi na tym systemie bedzie chodzi tylko jeden proces :))

pozdr Bwa

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required