基于NIOS II的uC/OS系统的开发
编译Nios II工程,下载到EPCS中,下载的方法前面章节讲过,这里就不再重复了。下面是PC机上串口调试工具上的数据。在开发板上还可以看到四个LED灯在闪烁和数码管显示654321。}}/** === FUNCTION ======================================================================* Name: seg_task* Description: 任务3 调用数码管驱动并通过串口显示数据* =====================================================================================*/voidseg_task(void* pdata){INT8U return_code = OS_NO_ERR;unsignedintnumseg=0;while(1){numseg++;seg_handler();OSTimeDlyHMSM(0, 0, 0, 300);}}/** === FUNCTION ======================================================================* Name: seg_handler* Description:* =====================================================================================*/voidseg_handler(void){IOWR_ALTERA_AVALON_PIO_DATA(SEG_SEL_BASE, 0xff);IOWR_ALTERA_AVALON_PIO_DATA(SEG_SEL_BASE, bittab[cnt]);IOWR_ALTERA_AVALON_PIO_DATA(SEG_DAT_BASE, segtab[led_buffer[cnt]]);cnt++;if(cnt==6)cnt=0;}/** === FUNCTION ======================================================================* Name: main* Description:* =====================================================================================*/voidinitialize_task(void* pdata){INT8U return_code = OS_NO_ERR;initCreateTasks();return_code = OSTaskDel(OS_PRIO_SELF);while(1);}/** === FUNCTION ======================================================================* Name: main* Description:* =====================================================================================*/intmain (intargc,char* argv[],char* envp[]){INT8U return_code = OS_NO_ERR;return_code = OSTaskCreateExt(initialize_task,NULL,(void*)initialize_task_stk[TASK_STACKSIZE],INITIALIZE_TASK_PRIORITY,INITIALIZE_TASK_PRIORITY,initialize_task_stk,TASK_STACKSIZE,NULL,0);OSStart();return0;}/** === FUNCTION ======================================================================* Name: initCreateTasks* Description:* =====================================================================================*/intinitCreateTasks(void){INT8U return_code = OS_NO_ERR;return_code = OSTaskCreateExt(ds1302_task,NULL,(void*)ds1302_task_stk[TASK_STACKSIZE],DS1302_TASK_PRIORITY,DS1302_TASK_PRIORITY,ds1302_task_stk,TASK_STACKSIZE,NULL,0);return_code = OSTaskCreateExt(led_task,NULL,(void*)led_task_stk[TASK_STACKSIZE],LED_TASK_PRIORITY,LED_TASK_PRIORITY,led_task_stk,TASK_STACKSIZE,NULL,0);return_code = OSTaskCreateExt(seg_task,NULL,(void*)seg_task_stk[TASK_STACKSIZE],SEG_TASK_PRIORITY,SEG_TASK_PRIORITY,seg_task_stk,TASK_STACKSIZE,NULL,0);return0;}
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
