a天堂国产 I 久久图片 I 91精品高清 I 亚洲人人玩人人添人人 I 婷婷伊人五月色噜噜精品一区 I 亚洲第一页夜 I 91日韩精品视频 I 无码人妻在线一区二区三区免费 I www.五月婷婷.com I 国产精品久久久久亚洲影视 I 91久久精品一二三 I 国产ts一区 I 91精品乱码久久蜜桃 I 成人免费观看高清 I 久久久久久国产精品免费无码 I 久久免费少妇高潮99精品 I 国产探花在线免费观看 I 亚洲精品少妇 I 亚洲综合成人亚洲 I 欧美区一区二区 I 手机福利视频 I 亚洲欧美综合另类自拍 I 久久精品视频免费播放 I 亚洲精品久久 I av免费在线免费观看 I 亚洲热综合 I 中文字幕无码专区人妻制服 I 午夜免费一区二区 I 在线亚洲精品国产一区麻豆 I 久久精品免费在线观看 I 全国最大成人网 I 亚洲欧美经典视频 I 手机av在线看 I 偷拍视频一区二区三区 I 吃奶摸下激烈视频学生软件

Rss & SiteMap

曙海教育集團(tuán)論壇 http://www.bjzhda.cn

曙海教育集團(tuán)論壇
共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]
[瀏覽完整版]

標(biāo)題:ARM LPC2132和UCOS II 寫(xiě)的第一個(gè)程序

1樓
wangxinxin 發(fā)表于:2010-11-18 9:23:45
,這是我學(xué)習(xí)ARM LPC2132和UCOS II 后,寫(xiě)的第一個(gè)程序。采用實(shí)時(shí)多任務(wù)內(nèi)核UCOS II,功能是分別點(diǎn)亮LED1,LED2,LED3,LED4,主任務(wù)對(duì)應(yīng)LED1,任務(wù)2,3,4分別對(duì)應(yīng)LED2,3,4,學(xué)習(xí)2個(gè)月后的成果,謹(jǐn)以此獻(xiàn)給lyping朋友,和熱愛(ài)PIC的朋友們。

#include "config.h" #include "stdlib.h"

#define TaskStkLengh 512 //Define the Task0 stack length 定義用戶任務(wù)0的堆棧長(zhǎng)度

OS_STK Main_Stack[TaskStkLengh]; //主任務(wù)堆棧

//任務(wù)1 OS_STK Task1_Stack[TaskStkLengh];//任務(wù)1堆棧

//任務(wù)2 OS_STK Task2_Stack[TaskStkLengh];//任務(wù)2堆棧

///任務(wù)3 OS_STK Task3_Stack[TaskStkLengh];//任務(wù)3堆棧

#define LED2 (1 << 19) // P1.18控制LED2 #define LED3 (1 << 20) // P1.18控制LED3 #define LED4 (1 << 21) // P1.18控制LED4

//任務(wù)1函數(shù)定義 void Task1_Task(void *pdata) { uint32 i; pdata=pdata; while (1) { i++; OS_ENTER_CRITICAL(); IO1CLR = LED2; //點(diǎn)亮LED2 OSTimeDly(OS_TICKS_PER_SEC / 2); OS_EXIT_CRITICAL(); OSTimeDly(1000); //延時(shí)掛起 } }

//任務(wù)2函數(shù)定義 void Task2_Task(void *pdata) { uint32 i; pdata=pdata; while (1) { i++; OS_ENTER_CRITICAL(); IO1CLR = LED3; //點(diǎn)亮LED3 OSTimeDly(OS_TICKS_PER_SEC / 2); OS_EXIT_CRITICAL(); OSTimeDly(1000); //延時(shí)掛起 } }

//任務(wù)3函數(shù)定義 void Task3_Task(void *pdata) { uint32 i; pdata=pdata; while (1) { i++; OS_ENTER_CRITICAL(); IO1CLR = LED4; //點(diǎn)亮LED4 OSTimeDly(OS_TICKS_PER_SEC / 2); OS_EXIT_CRITICAL(); OSTimeDly(1000); //延時(shí)掛起 } }

//主任務(wù)的定義 void Main_Task(void *pdata) { pdata=pdata; TargetInit (); //在此處開(kāi)放定時(shí)中斷 IO1SET = 0xffffffff; OSTimeDly(100); IO1CLR = 0x00040000; OSTimeDly(OS_TICKS_PER_SEC/2); OSTaskCreate(Task1_Task,(void *)0,&Task1_Stack[TaskStkLengh-1],12); OSTaskCreate(Task2_Task,(void *)0,&Task2_Stack[TaskStkLengh-1],14); OSTaskCreate(Task3_Task,(void *)0,&Task3_Stack[TaskStkLengh-1],16); while(1) { OSTimeDly(1000); } }

//主函數(shù)開(kāi)始 int main() { //這里寫(xiě)對(duì)目標(biāo)初始化函數(shù) OSInit(); //千萬(wàn)不要在此處開(kāi)放定時(shí)中斷,即調(diào)用TargetInit(); PINSEL1=0X00000000; //引腳設(shè)為GPIO功能 IO1DIR =0XFFFFFFFF; //引腳設(shè)為輸出模式 IO1SET =0Xffffffff; //引腳全部設(shè)為滅狀態(tài) OSTaskCreate(Main_Task,(void *)0,&Main_Stack[TaskStkLengh-1],10); OSStart(); //此函數(shù)永遠(yuǎn)不會(huì)返回 return 0; }

共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]

Copyright © 2000 - 2009 曙海教育集團(tuán)
Powered By 曙海教育集團(tuán) Version 2.2
Processed in .01465 s, 2 queries.