ucos-ii移植到ARM上的一个简单例子mini2440

基于mini2440的一个简单移植程序led.c

#include "config.h"

#define LED1 (0<<5)                 //定义LED,GPB5

#define TaskStkLength 64             //定义堆栈长度
OS_STK TaskLEDStk[TaskStkLength]; //定义任务LED的堆栈

void TaskLED(void *pdata);           //声明任务LED

int Main(void)     //ADS中不能写成main(void),一定大写
{
    TargetInit();           //目标板初始化
    OSInit();               //uC/OS-II初始化
    OSTimeSet(0);           //设置系统时基,建议予以保留
    OSTaskCreate(TaskLED,(void *)0,&TaskLEDStk[TaskStkLength-1],3);     //创建LED任务
    OSStart();
    return 0;
}

void TaskLED(void *pdata)
{
    #if OS_CRITICAL_METHOD == 3  
    OS_CPU_SR cpu_sr;
    #endif  
    pdata=pdata;                 //防止报警
    OS_ENTER_CRITICAL();         //close interrupt
    Timer0Init();                 //initial timer0 for ucos time tick       //timer.c 
    ISRInit();                   //initial interrupt prio or enable or disable       //timer.c
    OS_EXIT_CRITICAL();           //open interrupt
      while(1)          
    {
        rGPBCON&=(1<<10);
        rGPBDAT=LED1;             //LED亮
        OSTimeDly(25);           //延时20个节拍
        rGPBDAT=~LED1;           //LED灭
        OSTimeDly(25);           //延时20个节拍
    }
}      
ucos-ii移植到ARM上的一个简单例子mini2440
在自己新建的工程当中添加如上代码源文件,调试编译使LED1闪烁!注意ADS的配置。

ADS1.2配置参考 http://blog.csdn.net/k122769836/article/details/6686502
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值