ATmega32 发表于 2008-11-27 16:59:05

尝试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.

ATmega32 发表于 2008-12-9 17:20:20

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.

armok 发表于 2008-11-29 07:44:21

ATmega32 发表于 2008-11-28 23:10:40

尝试仿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.

osky 发表于 2008-11-27 17:24:47

能移到C51&arm平台就好了,不懂C++ Builder
页: [1]
查看完整版本: 尝试TEvent(20081128)移植C++ Builder 【恢复】