山东建筑大学计算机学院嵌入式复习资料.docx
《山东建筑大学计算机学院嵌入式复习资料.docx》由会员分享,可在线阅读,更多相关《山东建筑大学计算机学院嵌入式复习资料.docx(7页珍藏版)》请在三一办公上搜索。
1、山东建筑大学计算机学院嵌入式复习资料大题 1、控制LED亮灭 void Port_Init rPDATC = 0xFC00; /1111 1100 0000 0000B rPCONC = 0x0FF5FF55; / 0101:PC9/8: Output(01) rPUPC = 0x30FF; /PC9/8上拉:00 rPDATF = 0xE7; /0000 0000 1110 0111B rPCONF= 0x24914A; /PF4/3 Output(01) rPUPF= 0x6; /PF4/3上拉 void LED_Display(int nLedStatus) if(nLedStatus
2、& 0x01) = 0x01) rPDATC &= 0xFEFF; /PC8=0, LED1亮 else rPDATC |= (1 8); /0x0100, PC8=1, LED1灭 if(nLedStatus & 0x02) = 0x02) rPDATC &= 0xFDFF; else rPDATC |= (1 9); if(nLedStatus & 0x04) = 0x04) rPDATF &= 0xEF; else rPDATF |= (14); if(nLedStatus & 0x08) = 0x08) rPDATF &= 0xF7; else rPDATF |= (13); void
3、 Main Port_Init; while(1) LED_Display(0x0F);/全亮 Delay(1000);/延迟1000毫秒 LED_Display(0x00);/全灭 Delay(1000);/延迟1000毫秒 2、某嵌入式系统采用S3C44B0X为微控制器,主时钟为66MHZ,采用定时器0产生定时中断,定时间隔为0.5秒,在定时中断服务子程序中通过端口PC2和PC4控制两个LED的闪烁,所有中断均为IRQ中断,采用矢量中断模式,试编写相应的主程序和定时器0中断服务子程序。 void Init_Timer(void) rTCFG0 = 0x00000041; /预分频65 rT
4、CFG1 = 0x00000004; /mux0 = 1/32 rTCNTB0 = 15625; /0.5秒 rTCON = 0x02; rTCON = 0x09; void Init_Int(void) rINTMOD = 0x0; /设置中断为IRQ中断 rINTCON = 0x1; /设置中断为矢量中断模式 pISR_Timer0 = (S32)Timer0_ISR; /设置Timer0的ISR入口地址 rINTMSK &= (0x126 | 0x113); /使能Timer0中断 void Init_Prot(void) rPCONC = 0x0110; rPDATC = 0x0014
5、; rPUPC = 0x0000; bool bLEDON = 0; void Timer0_ISR rI_ISPC |= 0x113; if(bLEDON = 0) rPDATC &= (0x12 | 0x14); bLEDON = 1; else rPDATC |= (0x12 | 0x1(BD)H OSRdyTbl0、 OSRdyTbl2、 OSRdyTbl3不变 OSRdyGrp=(0E)H:0000 1110 OSRdyTbl1=(18)H-10H:0001 1000 任务11挂起,那么就变为0,12就绪 OSRdyTbl0、 OSRdyTbl2、 OSRdyTbl3不变 4、已知某
6、嵌入式系统经过一段时间的运行后,OSRdyGrp=(22)H,OSRdyTbl1=(64)H,OSRdyTbl5=(F0)H,试分析这时的最高就绪态任务的优先级为何值。 解:因为OSRdyGrp=(22)H = 00100010B,故y=1 又因为OSRdyTbl1=(64)H = 01100100B,所以x=2 故prio=y*8+x=10 5、试用uC/OS-II编写一个实时控制系统的程序,要求创建4个任务,其中两个任务利用信号量实现对某一共享资源的互斥,另外两个任务之间利用消息邮箱传递消息。 OS_STK Task1StkTASK_STK_SIZE; OS_STK Task2StkTAS
7、K_STK_SIZE; OS_STK Task6StkTASK_STK_SIZE; OS_STK Task7StkTASK_STK_SIZE; OS_EVENT *SemECB; /定义信号量 OS_EVENT *MboxECB; /定义邮箱 void Task1 (void *pdata) INT8U err; for (;) OSSemPend(SemECB, 10, &err); /等待一个信号 printf(I am Task1, I have gotton the semphore!n); OSSemPost(SemECB); /发送一个信号量 void Task2 (void *p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 山东 建筑 大学计算机 学院 嵌入式 复习资料
链接地址:https://www.31ppt.com/p-3479994.html