内存管理、时钟中断及消息队列

上传人:ba****u6 文档编号:181926154 上传时间:2023-01-18 格式:DOCX 页数:4 大小:39.57KB
返回 下载 相关 举报
内存管理、时钟中断及消息队列_第1页
第1页 / 共4页
内存管理、时钟中断及消息队列_第2页
第2页 / 共4页
内存管理、时钟中断及消息队列_第3页
第3页 / 共4页
点击查看更多>>
资源描述
实验题目内存管理、时钟中断及消息队列学院名称:电子与信息工程学院专业:电信101嵌入式方向学生姓名:X0指导教师:X内存管理、时钟中断及消息队列一.实验目的:掌握uc/osii中内存管理、时钟中断及消息队列的使用方法二实验内容:在uc/osii程序中创建三个任务,任务1控制3个按键,任务2控制8盏LED灯,使用某种事件将任务3个按键的状态传递至任务2,任务2在8盏LED灯上以译码器效果输出。三实验原理:uc/osii用于动态内存管理的函数有:OSMemCreate()、请求活的内存块函数OSMemGet()、释放内存块函数OSMemPut()、和查询动态内存分区状态函数OSMemQuery()等函数。任务在运行过程中,应内部或外部异步事件的请求中止当前任务,而去处理异步事件所要求的任务的过程叫做中断。uc/osii系统响应中断的过程是:系统收到中断请求后,如果这时CPU处于中断允许状态,系统就会中止正在运行的当前任务,而按照中断向量的指向转而去运行中断服务子程序;当中断服务子程序的运行结束后,系统将会根据请抗返回到会中止的任务继续运行,或者转向运行另一个具有更高优先级的就绪任务。任何操作系统都要提供一个周期性的信号源,以提供系统处理诸如延时、超时等与时间有关的时间,这个周期性的信号源叫做时钟。uc/osii与大多数计算机系统一样,用硬件定时器产生一个周期为毫秒级的周期性中断来实现系统时钟。使用消息队列可在任务之间传递多条消息。消息队列可由但不分组成:时间控制块、消息队列和消息。当时间控制块成员OSEventType值为OS_EVENT_TYPE_Q时,该时间控制块代表一个消息队列。创建一个消息队列首先需要定义一个指针数组,然后把各个消息数据缓冲区的首地址存入这个数组中,最后再调用函数OSQCreate()来创建消息队列。请求消息队列的目的是从消息队列中获取消息。任何请求消息对垒需要调用函数OSPend()。任务需要通过调用函数OSQPost()或OSQPostFront()来向消息队列发送消息。任务可以通过调用函数OSQFlush()来清空消息队列。任务可以通过调用函数OSQDel()来删除一个已存在的消息队列。任务可以通过调用函数OSQQuery()来查询一个消息队列的状态。四.实验步骤:打开uCOS的空白模版修改主程序使其达到实验内容的要求并仿真直至程序无误;将程序烧入试验箱中,运行,观察实验结果;五实验程序:/*任务1*/staticvoidLedTask1(void*p_arg)OS_CPU_SRcpu_sr=0;#endifwhile(1)OS_ENTER_CRITICAL();OSSemPost(Fun_Semp);if(Key_code=0x00)LED_OFF_ALL();LED_ON_16();辻(0x0714)!=Key_Scan)OSTimeDlyHMSM(O,0,0,10);辻(0x0714)!=Key_Scan)Key_code=(IO0PIN14)&0x07);OS_EXIT_CRITICAL();/*任务2*/staticvoidLedTask2(void*p_arg)#ifOS_CRITICAL_METHOD=3OS_CPU_SRcpu_sr=0;#endifwhile(1)OS_ENTER_CRITICAL();OSSemPend(Fun_Semp,0,&err);if(Key_code=0x01)LED_OFF_ALL();LED_ON_17();if(Key_code=0x02)LED_OFF_ALL();LED_ON_18();if(Key_code=0x03)LED_OFF_ALL();LED_0N_19();if(Key_code=0x04)LED_OFF_ALL();LED_0N_20();if(Key_code=0x05)LED_OFF_ALL();LED_ON_21();if(Key_code=0x06)LED_OFF_ALL();LED_ON_22();if(Key_code=0x07)LED_OFF_ALL();LED_ON_23();OS_EXIT_CRITICAL();六.实验总结与思考:
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!