ucosii 之邮箱 学习

这篇博客详细介绍了如何在UCOSII操作系统中使用邮箱进行任务间的通信,特别是通过`OSMboxPost`函数发送消息到消息邮箱,并展示了在按键扫描任务中如何实现这一过程。同时,博客还提及了信号量的概念和使用,如`OSSemPost`用于发送信号量。
摘要由CSDN通过智能技术生成

ucos ii 

 上来就给来个邮箱消息一般人肯定给 整晕 ,俺是一般人俺梦的好几天没有真明白,下面先看看函数在说吧! 

  //按键扫描任务
void key_task(void *pdata)
{    
    u8 key;                                     
    while(1)
    {
        key=KEY_Scan(0);  //得到KEY 的按键直 
        if(key)
             OSMboxPost(msg_key,(void*)key);//发送消息 
           //向消息邮箱发送消息
           //这个函数 的原型 INT8U OSMboxPost(OS_EVENT *pevent,void *msg);
           //pevent 为消息邮箱的指针 
           //msg 为消息指针
         delay_ms(10);

    }
}

//特殊的函数需要 加红 加红牛  

这里有个函数    key = key_sacn(0);    这是读取按键的状态 

  

 


//加载主界面   
void ucos_load_main_ui(void)
{
    LCD_Clear(WHITE);    //清屏
     POINT_COLOR=RED;    //设置字体为红色 
    LCD_ShowString(30,10,200,16,16,"Mini STM32");    
    LCD_ShowString(30,30,200,16,16,"UCOSII TEST2");    
    LCD_ShowString(30,50,200,16,16,"ATOM@ALIENTEK");
       LCD_ShowString(30,75,200,16,16,"KEY0:LED1 KEY_UP:ADJUST");    
       LCD_ShowString(30,95,200,16,16,"KEY1:CLEAR"); 
    LCD_ShowString(80,210,200,16,16,"Touch Area");    
    LCD_DrawLine(0,120,lcddev.width,120);
    LCD_DrawLine(0,70,lcddev.width,70);
    LCD_DrawLine(150,0,150,70);
     POINT_COLOR=BLUE;//设置字体为蓝色 
      LCD_ShowString(160,30,200,16,16,"CPU:   %");    
       LCD_ShowString(160,50,200,16,16,"SEM:000");    
}


int main(void)
{     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值