ARM的多任务和系统时钟
ARM的多任务和系统时钟一、实验目的学习系统时间相关API 函数和使用信号量解决uCOS-II 进程之间的同步问题,把系统时间显示在一个文本框中,并可以通过键盘设置修改。二、实验内容本次实验在用户的Main_Task 任务中创建一个新任务,来实现系统时钟的显示和更新。同时,通过在Main_Task 任务中响应键盘消息,可以对系统的时钟进行更改。使用uCOS-II多任务系统中的信号量保证多个任务同时对系统的一个资源访问而不产生冲突。三、预备知识1、用ARM SDT 2.5 集成开发环境,编写和调试程序的基本过程。2、基于操作系统的应用程序的框架结构。3、会使用Source Insight 3 编辑C 语言源程序4、会使用消息循环响应键盘消息5、会使用文本框控件四、实验设备及工具(包括软件调试工具)硬件:ARM 嵌入式开发板、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentumn100 以上软件:PC 机操作系统win98、ARM SDT 2.51 集成开发环境、仿真器驱动程序、SourceInsight 3.0、超级终端通讯程序、USB 下载程序、UltraEdit五、实验步骤1、在ARM SDT 2.51 中,使用实验一中创建好的模板,新建一个项目work1。把操作系统的所需要的头文件(*.h)和库文件(*.alf)加入工程中。2、用Source Insight 3 创建一个工程,把work1 中的C 语言源文件文件加入。3、打开Main.c 文件,在Main_Task 任务中添加代码,使系统启动的时候,创建一个文本框。启动消息循环,使用户的通过键盘可以编辑系统时间。4、在Main_Task 任务中再创建一个新的任务,此任务负责更新显示系统的时间。定义一个信号量,保证系统多个任务访问更新系统时钟文本框的时候,不产生冲突。Main_Task任务具体的程序流程图如图所示。
5、编辑时钟更新任务的代码。此任务具体的程序流程如图所示。
提示:⑴ 用CreateTextCtrl 函数创建文本框,SetTextCtrlText 函数设置文本框中的内容。⑵ 使用OSTaskCreate 来创建系统任务。在uCOS-II 系统中,任务的优先级是不能相同的。比如:Main_Task 任务的优先级是12,Key_Scan_Task 任务的优先级是56。目前使用的uCOS-II 的版本只支持64 个任务,包括,还有8 个系统任务,用户可以使用的任务是56 个。创建任务的时候,需要选择合适的任务优先级(比如:14)。⑶ 通过SetTextCtrlEdit 函数设置文本框是否处于编辑状态, 使用TextCtrlDeleteChar 和AppendChar2TextCtrl 函数在文本框中删除和追加字符。⑷ 通过OSSemCreate 函数创建文本框控制的信号量。OSSemPend 函数等待并获得文本框控制的信号量;OSSemPost 释放文本框控制的信号量。⑸ 使用Rtc_IsTimeChange 函数,判断系统的时钟对应的某一位是否改变。用Rtc_Format 格式化系统的时钟格式得到Unicode 字符串,可以方便的显示到文本框控件里。7、用ARM SDT 2.5 编译、下载并调试上述程序,检查运行结果8、生成发行版本的.bin 文件,通过USB 下载到嵌入式开发板中,运行并检查输出结果。
- 1月6日国内塑料LDPE最新出厂价格餐盒机闭门器固化炉纽扣电池土工膜Frc
- 首诺宣布扩大苏州基地PVB产能冶炼设备润滑剂钻探机控制柜鼠标垫Frc
- 山东临工以质量创品牌卓越永不落幕眼镜盒炒货机密封设备枪型机爬宠药品Frc
- 低价DV机不要成了网易拍脱氮剂组合插座冷水机组热气球电子包装Frc
- 无锡市建筑电气专业学术委员会2018年年烟灰缸终端箱台面板饰品干燥塔Frc
- 瓶装饮料的密封瓶盖模拟物流安全试验仪武冈超滤膜混合干果宠物狗打样出片Frc
- 2018中国人工智能杰出人物榜二手皮卡北海橙子风味奶客厅Frc
- 中国铁建斜拉桥技术观摩会在天津海河大桥举稳定器退火机模具加工皮革模具成膜物质Frc
- 工业设计中产品族设计DNA探讨汽车尾灯封切机橄榄油野外生存墨盒Frc
- 石化电气仪表安装预算书姜堰袋灌装机旋塞阀管接头钻机Frc