国产九九热视频-国产九九精品视频-国产精自产拍久久久久久蜜-国产精自产拍久久久久久-国产精在线-国产精亚洲视频


曙海教育集團論壇ARM專區(qū)ARM技術(shù)討論專區(qū) → ARM LPC2132和UCOS II 寫的第一個程序


  共有8757人關(guān)注過本帖樹形打印

主題:ARM LPC2132和UCOS II 寫的第一個程序

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
ARM LPC2132和UCOS II 寫的第一個程序  發(fā)帖心情 Post By:2010-11-18 9:23:45

,這是我學習ARM LPC2132和UCOS II 后,寫的第一個程序。采用實時多任務(wù)內(nèi)核UCOS II,功能是分別點亮LED1,LED2,LED3,LED4,主任務(wù)對應(yīng)LED1,任務(wù)2,3,4分別對應(yīng)LED2,3,4,學習2個月后的成果,謹以此獻給lyping朋友,和熱愛PIC的朋友們。

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

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

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; //點亮LED2 OSTimeDly(OS_TICKS_PER_SEC / 2); OS_EXIT_CRITICAL(); OSTimeDly(1000); //延時掛起 } }

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

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

//主任務(wù)的定義 void Main_Task(void *pdata) { pdata=pdata; TargetInit (); //在此處開放定時中斷 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ù)開始 int main() { //這里寫對目標初始化函數(shù) OSInit(); //千萬不要在此處開放定時中斷,即調(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ù)永遠不會返回 return 0; }


支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

ARM LPC2132和UCOS II 寫的第一個程序








簽名
主站蜘蛛池模板: 石家庄市| 蒙阴县| 蒙自县| 丰台区| 定南县| 交口县| 永福县| 灌阳县| 潢川县| 新龙县| 鹤峰县| 教育| 西充县| 清苑县| 九江市| 黑河市| 习水县| 盘锦市| 江山市| 罗江县| 彝良县| 鲁甸县| 北流市| 建始县| 兖州市| 蓬莱市| 广灵县| 台南县| 彭州市| 南澳县| 台北县| 德兴市| 峨边| 秦皇岛市| 栾川县| 新龙县| 东乡族自治县| 西宁市| 基隆市| 陵水| 凤台县|