freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ucosii嵌入式系統(tǒng)示例代碼-資料下載頁(yè)

2025-05-15 23:33本頁(yè)面
  

【正文】 k1[STK_SIZE_TASK1]。 /* 為任務(wù)分配堆??臻g */OS_STK StkTask2[STK_SIZE_TASK2]。OS_EVENT *pMbox。char msg[11]。/* 此函數(shù)定義了一個(gè)任務(wù) */void YourTask1( void *pdata ){ INT8U err。 char *str=(char*)0。 IRQ_Register( OSTickISR, TIMER1_INT )。 /* 開(kāi)啟uC/OSII的時(shí)鐘中斷(必須在第一個(gè)運(yùn)行的任務(wù)里進(jìn)行) */ OSStartTimeTick()。 /* 在下面添加任務(wù)內(nèi)容 */ while( 1 ){ str = OSMboxPend( pMbox, 0, amp。err )。 if( str!=0 ){ MX1_UART_PutString( COM1, Message: , 9 )。 MX1_UART_PutString( COM1, str, 10 )。 MX1_UART_PutString( COM1, \r\n, 2 )。 } }}/* 此函數(shù)定義了一個(gè)任務(wù) */void YourTask2( void *pdata ){ /* 在下面添加任務(wù)內(nèi)容 */ while( 1 ){ MX1_UART_GetString( COM1, msg, 10 )。 msg[10]=0。 OSMboxPost( pMbox, (void*)msg )。 }}/* 初始化后,從這里開(kāi)始執(zhí)行C代碼 */int __main( void ){ MX1_AITC_Init()。 /* 初始化中斷控制器 */ IRQ_Init()。 /* 初始化中斷管理 */ MX1_UART_Init( COM1 )。 OSInit()。 /* 初始化uC/OSII內(nèi)核數(shù)據(jù)結(jié)構(gòu) */ /* 創(chuàng)建消息油箱,必須在OSInit()之后 */ pMbox = OSMboxCreate( 0 )。 /* 建立任務(wù) */ OSTaskCreate( YourTask1, 0, amp。StkTask1[STK_SIZE_TASK11], PRIO_TASK1 )。 OSTaskCreate( YourTask2, 0, amp。StkTask2[STK_SIZE_TASK21], PRIO_TASK2 )。 OSStart()。 /* 開(kāi)始調(diào)度 */ return 0。} //實(shí)驗(yàn)代碼/****************** * A Sample Module* ******************/include /* 包含與uC/OSII相關(guān)的系統(tǒng)調(diào)用的頭文件 */include /* 包含與中斷控制器相關(guān)的頭文件 */include /* 包含與中斷管理相關(guān)的頭文件 */include include include include include /* 用于時(shí)鐘中斷 */extern void OSStartTimeTick( void )。extern void OSTickISR( void )。define STK_SIZE_TASK1 256 /* 分配給任務(wù)的堆棧大小 */define STK_SIZE_TASK2 256define PRIO_TASK1 3 /* 任務(wù)的優(yōu)先級(jí) */define PRIO_TASK2 4OS_STK StkTask1[STK_SIZE_TASK1]。 /* 為任務(wù)分配堆??臻g */OS_STK StkTask2[STK_SIZE_TASK2]。OS_EVENT *pLCDSem。 /* 用于LCD的信號(hào)量 */int speed。/* 此函數(shù)定義了一個(gè)任務(wù) */void YourTask1( void *pdata ){ INT8U err。 int x,y。 int directX。 int directY。 speed=50。 x=20。 y=20。 directX=2。 directY=1。 IRQ_Register( OSTickISR, TIMER1_INT )。 /* 開(kāi)啟uC/OSII的時(shí)鐘中斷(必須在第一個(gè)運(yùn)行的任務(wù)里進(jìn)行) */ OSStartTimeTick()。 /* 在下面添加任務(wù)內(nèi)容 */ MX1_LCDC_DrawRect( 0, 0, LCDC_PANEL_WIDTH1, LCDC_PANEL_HEIGHT1, 48, 48, LS_SOLID, FS_SOLID )。 while( 1 ){ OSSemPend( pLCDSem, 0, amp。err )。 MX1_LCDC_DrawRect(x,y,x+20,y+20,0,0, LS_SOLID, FS_SOLID )。 if(x=1 || x=299) directX=directX。 if(y==0 || y==220) directY=directY。 x+=directX。 y+=directY。 MX1_LCDC_DrawRect(x,y,x+20,y+20,15,15, LS_SOLID, FS_SOLID )。 OSTimeDlyHMSM( 0, 0, 0, speed )。 OSSemPost( pLCDSem )。 }}/* 此函數(shù)定義了一個(gè)任務(wù) */void YourTask2( void *pdata ){ INT8U err。 int i。 SWITCH_Init( SW6 )。 /* 初始化開(kāi)關(guān) */ SWITCH_Init( SW7 )。 LED_Init( LED3 )。 LED_Init( LED4 )。 LED_Init( LED5 )。 LED_Init( LED6 )。 LED_Init( LED7 )。 LED_Init( LED8)。 //unsigned int t。 /* 在下面添加任務(wù)內(nèi)容 */ while( 1 ){ OSSemPend( pLCDSem, 0, amp。err )。 if( SWITCH_IS_ON( SW6 ) amp。amp。 speed=35 ) speed=5。 if( SWITCH_IS_ON( SW7 ) amp。amp。 speed=70) speed+=5。 switch(speed/10) { case 3:LED_On(LED3)。LED_Off(LED4)。LED_Off(LED5)。LED_Off(LED6)。break。 case 4:LED_On(LED4)。LED_Off(LED3)。LED_Off(LED5)。LED_Off(LED6)。break。 case 5:LED_On(LED5)。LED_Off(LED3)。LED_Off(LED4)。LED_Off(LED6)。break。 case 6:LED_On(LED6)。LED_Off(LED4)。LED_Off(LED5)。LED_Off(LED3)。break。 default:LED_Off(LED6)。LED_Off(LED4)。LED_Off(LED5)。LED_Off(LED3)。break。 } OSSemPost( pLCDSem )。 }}/* 初始化后,從這里開(kāi)始執(zhí)行C代碼 */int __main( void ){ unsigned int palette[LCDC_CMRAM_SIZE]。 int i。 MX1_AITC_Init()。 /* 初始化中斷控制器 */ IRQ_Init()。 /* 初始化中斷管理 */ //初始化LCD MX1_LCDC_Init(LCDC_PANEL_WIDTH, LCDC_PANEL_HEIGHT, LCDC_INIT_STARTX, LCDC_INIT_STARTY, LCDC_VPW, LCDC_PANEL_CONF, LCDC_BPP )。 // 初始化調(diào)色板 for( i=0。 i16。 i++ ){ palette[i] = RGB( i, 0, 0 )。 palette[i+16] = RGB( 0, i, 0 )。 palette[i+32] = RGB( 0, 0, i )。 palette[i+48] = RGB( i, i, i )。 } MX1_LCDC_CMRAM_Set( palette )。 OSInit()。 /* 初始化uC/OSII內(nèi)核數(shù)據(jù)結(jié)構(gòu) */ /* 初始化信號(hào)量,必須在OSInit()之后 */ pLCDSem = OSSemCreate( 1 )。 /* 建立任務(wù) */ OSTaskCreate( YourTask1, 0, amp。StkTask1[STK_SIZE_TASK11], PRIO_TASK1 )。 OSTaskCreate( YourTask2, 0, amp。StkTask2[STK_SIZE_TASK21], PRIO_TASK2 )。 OSStart()。 /* 開(kāi)始調(diào)度 */ return 0。} 任務(wù)調(diào)度發(fā)生于:1) 開(kāi)啟多任務(wù),OSStart()。2) 新建一個(gè)任務(wù),OSTaskCreate 或 OSTaskCreateEx3) 中斷返回,OSIntExit4) 時(shí)間延遲,OSTimeDly 或 OSTimeDlyHMSM5) 任務(wù)請(qǐng)求事件而未得到,OSSemPend OSMboxPend OSFlagPend OSMutexPend OSQPend OSEbentPendMulti6) 任務(wù)釋放事件且有任務(wù)正在請(qǐng)求,OSSenPost OSMboxPost OSMboxPostOpt OSMutexPost OSQPost OSQPostFront OSQPostOpt OSFlagPost7) 任務(wù)被掛起或恢復(fù),OSTaskSuspend OSTaskResume8) 任務(wù)被刪除,OSTaskDel9) 任務(wù)延時(shí)被取消,OSTimeDlyResume10) 調(diào)用系統(tǒng)時(shí)鐘節(jié)拍函數(shù),OSTime
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1