|
打造自己的Protothreads(2008.03.12) (文件大小:133K)
#include "config.h"
THR_Create(Thread1);
THR_Create(Thread2);
TMR_Create(timer1);
TMR_Create(timer2);
uint8 Thread1(Tpt *pt)
{
PT_BEGIN(pt);
while(1)
{
PORTA^=_BV(0);
PT_TIMER_DELAY(&timer1,500);
}
PT_END(pt);
}
uint8 Thread2(Tpt *pt)
{
PT_BEGIN(pt);
while(1)
{
PORTA^=_BV(1);
PT_TIMER_DELAY(&timer2,1000);
}
PT_END(pt);
}
int main()
{
DDRA=_BV(0)|_BV(1);
PORTA=_BV(0)|_BV(1);
TCNT0 = TCNT0_INIT;
TCCR0 = T0_CLK_DIV256;
TIMSK|=_BV(0);
sei();
while(1)
{
PT(Thread1)->execute();
PT(Thread2)->execute();
}
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|