尝试TEvent(20081128)移植C++ Builder 【恢复】
http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_519377.JPG (原文件名:Image0134.JPG)
//---------------------------------------------------------------------------
#include "config.h"
#pragma argsused
#define OS_TICKS_PER_SEC 100
void __stdcall OSTickISR(unsigned int a,unsigned int b,unsigned long c,unsigned long d,unsigned long e);
#define EVT_LED_ON 0
#define EVT_LED_OFF 1
#define TASK1ID 0
#define TASK2ID 1
uint8 task1(uint8 EventValue)
{
switch(EventValue)
{
case EVT_TASK_ENTRY:
EVT_Post(EVT_LED_ON);
break;
case EVT_LED_ON:
printf(" --------TASK1:LED ON --------\r\n");
EVT_DelayPost(EVT_LED_OFF,OS_TICKS_PER_SEC/2);
break;
case EVT_LED_OFF:
printf(" --------TASK1:LED OFF--------\r\n");
EVT_DelayPost(EVT_LED_ON,OS_TICKS_PER_SEC/2);
break;
}
return 1;
}
uint8 task2(uint8 EventValue)
{
static uint8 step=0;
if(step==0)
{
step=1;
printf(" --------TASK2:LED ON --------\r\n");
TSK_Delay(OS_TICKS_PER_SEC/3);
}
else
{
step=0;
printf(" --------TASK2:LED OFF--------\r\n");
TSK_Delay(OS_TICKS_PER_SEC/3);
}
return 1;
}
int main(int argc, char* argv[])
{
InitializeCriticalSection(&CS);
TSK_InitWithEntryEvent(task1,TASK1ID);
TSK_InitWithEntryEvent(task2,TASK2ID);
timeSetEvent(1000/OS_TICKS_PER_SEC, 0, OSTickISR, 0, TIME_PERIODIC); //模拟周期中断
while(1)
{
while(EVT_Scheduler());
Sleep(1);
}
// return 0;
}
void __stdcall OSTickISR(unsigned int a,unsigned int b,unsigned long c,unsigned long d,unsigned long e)
{
TMR_TicksHander();
}
点击此处下载 ourdev_519376.rar(文件大小:652K) (原文件名:TEvent.rar)
本贴被 ATmega32 编辑过,最后修改时间:2008-11-28,11:11:36. http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_534457.JPG
(原文件名:Image0137.JPG)
更新一下:20081209
点击此处下载 ourdev_535677.rar(文件大小:1.26M) (原文件名:TEvent.rar)
本贴被 ATmega32 编辑过,最后修改时间:2008-12-10,13:26:33. 尝试仿UCOS一个例子到TEvent
http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_521036.JPG
(原文件名:Image0015.JPG)
更新一下:20081128
增加TEvent在CC2430,MSP430F1611,LM3S1138和C++Builder下移植。
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=1635695&bbs_page_no=1&bbs_id=3004
本贴被 ATmega32 编辑过,最后修改时间:2008-11-29,08:43:16. 能移到C51&arm平台就好了,不懂C++ Builder
页:
[1]