SciFi (25.07.2013 13:28, просмотров: 489) ответил Ксения на Смотрела уже, но пока не в восторге. Буду разбираться, в какой код это выливается. Чудес не бывает, protothreads это или нет, должна быть идея о том, как это делается. Последнее дело тыкать пальцем в чужие библиотеки, полагая, что те делают дело
Уже обсуждалось -> http://caxapa.ru/294909.html
Код выглядит как-то так:
#include "pt.h"
extern unsigned int get_uptime_ms(void);
static struct pt disp_pt;
static
PT_THREAD(disp_proc(void))
{
static unsigned int start;
PT_BEGIN(&disp_pt);
PIN1 = SOMETHING;
start = get_uptime_ms();
PT_WAIT_UNTIL(&disp_pt, get_uptime_ms() - start > 100); /* 100 ms delay */
PIN2 = SOMETHING;
start = get_uptime_ms();
PT_WAIT_UNTIL(&disp_pt, get_uptime_ms() - start > 200); /* 200 ms delay */
... and so on
PT_END(&disp_pt);
}
int
main(void)
{
PT_INIT(&disp_pt);
for (;;)
{
(void)PT_SCHEDULE(disp_proc());
}
}
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้