新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 嵌入式实时操作系统μC/OS-II串口通信的设计与实现

嵌入式实时操作系统μC/OS-II串口通信的设计与实现

作者: 时间:2011-03-17 来源:网络 收藏

由该流程图可以看出:本程序中创建了4个任务,即LED显示任务,液晶显示任务,数据发送任务和数据发送控制任务。每一个任务都要有相应的优先级和任务堆栈空间,程序中每个任务的堆栈空间为512个字节,优先级依次为11,13,4,6。
ST公司用标准的ANSI C封装了ARM微处理器中各个功能寄存器,为用户应用程序的开发提供了丰富的固件库(Firmware)。固件库方便用户对底层微处理器外设进行初始化配置,如初始化函数为void USARTConfigurtion(void),具体代码如下:

本文引用地址://www.cghlg.com/article/156583.htm

6.JPG

7.JPG

初始化操作包括了时钟初始化、中断初始化,I/O接口初始化,初始化等。主程序在完成初始化操作后创建信号量、消息邮箱和任务创建。由于信号量、邮箱都是事件类型,所以需用OS_EV-ENT来定义,信号量、邮箱的建立由函数App_EventCreate()完成。

使用信号量和消息邮箱可以保持任务之间的的同步,串口数据发送任务App_TaskSendata(void-*p_arg)发送信号量App_UserIFSem通知数据发送控制任务App_TaskSendata Ctrl(void*p_arg),数据发送控制任务在接收到信号量App_User IFSem后,发送消息(www.Real Vie-w.com\n)给指定邮箱App_UserIFMbox,串口调用数据发送函数USART_Send Data(),串口数据发送任务数据发送完成后发送通知信号量App_ UserIFSeml给数据发送控制任务,数据发送控制任务在接收到发送完成信号量App_UserIFSeml后,向指定邮箱发送另一则消息(www.xust. edu.cn\n),数据发送任务在接收到消息邮箱后通过串口发送接收到的消息内容给PC机。具体代码如下:

8.JPG

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭