|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Vladimir Birjukov 2:51/5 24 Oct 2001 21:36:13 To : All Subject : nanosleep -------------------------------------------------------------------------------- Я тут все еще страдаю с picprog... кто знающий скажите, сколько времени должна выполняться функция delay_100 ? Hу и соответственно, длительность импульса на RTS в функциях p_in, p_out? осциллографом получается 10 миллисекунд. ===== Start cut ===== #define NANOSLEEP_WORKS 1 static void delay_100 () { #ifdef NANOSLEEP_WORKS static const struct timespec ns100 = { 0, 100 }; nanosleep (&ns100, 0); #else #ifdef USLEEP_WORKS usleep (1); #else volatile int i; for (i = 0; i < 10; i++) ; #endif #endif } void picport::p_out (int b) { ioctl (fd, b ? TIOCMBIS : TIOCMBIC, &picport::dtr_bit); // set data ioctl (fd, TIOCMBIS, &picport::rts_bit); // clock up delay_100 (); ioctl (fd, TIOCMBIC, &picport::rts_bit); // clock down delay_100 (); } int picport::p_in () { ioctl (fd, TIOCMBIS, &picport::dtr_bit); // set data up ioctl (fd, TIOCMBIS, &picport::rts_bit); // clock up delay_100 (); ioctl (fd, TIOCMBIC, &picport::rts_bit); // clock down delay_100 (); int i; ioctl (fd, TIOCMGET, &i); return 0 != (i & TIOCM_CTS); } ===== End cut ===== WL --- QDed beta v1.3/FreeBSD * Origin: HaOS Station (2:51/5) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/7643bd70ea7.html, оценка из 5, голосов 10
|