亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4944|回復: 0
打印 上一主題 下一主題
收起左側

STM32下使用Keil自帶的RTL

[復制鏈接]
跳轉到指定樓層
樓主
ID:65608 發表于 2014-9-4 22:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


初次使用RTL不是很懂,這是從別的論壇復制回來的感覺不錯能對初學者提供一些感覺。

Keil ARTX(Advanced Real-Time eXecutive)是Keil為ARM 系列所提供的一個小型實時操作系統,整合于其UV3開發環境之中.在下載并安裝了RealView MDK個人學習版后,ARTX同時安裝到了C:\Keil\ARM\RL\RTX目錄下,在C:\Keil\ARM\Boards\Keil\MCBSTM32\STLIB_RTX_Blinky目錄下有STM32的例子程序。經過簡單修改,運行在萬利開發板上。
#include
#include
OS_TID t_phaseA; //分配任務ID號
OS_TID t_phaseB;
OS_TID t_phaseC;
OS_TID t_phaseD;

#define LED_A GPIO_Pin_4
#define LED_B GPIO_Pin_5
#define LED_C GPIO_Pin_6
#define LED_D GPIO_Pin_7
#define LED_On(led) GPIO_SetBits(GPIOC, led)
#define LED_Off(led) GPIO_ResetBits(GPIOC, led)

extern void SetupClock (void);
extern void SetupLED (void);


void phaseA (void) __task {
for (;;) {
LED_On (LED_A);
os_dly_wait (100);
LED_Off(LED_A);
os_dly_wait (100);
}
}

void phaseB (void) __task {
for (;;) {
LED_On (LED_B);
os_dly_wait (100);
LED_Off(LED_B);
os_dly_wait (100);
}
}

void phaseC (void) __task {
for (;;) {
LED_On (LED_C);
os_dly_wait (100);
LED_Off(LED_C);
os_dly_wait (100);
}
}

void phaseD (void) __task {
for (;;) {
LED_On (LED_D);
os_dly_wait (100);
LED_Off(LED_D);
os_dly_wait (100);
}
}

void init (void) __task {
t_phaseA = os_tsk_create (phaseA, 0);
os_dly_wait (50);
t_phaseB = os_tsk_create (phaseB, 0);
os_dly_wait (50);
t_phaseC = os_tsk_create (phaseC, 0);
os_dly_wait (50);
t_phaseD = os_tsk_create (phaseD, 0);
os_tsk_delete_self ();
}

int main (void) {
SetupClock();
SetupLED ();
os_sys_init (init);
}


經過初試化后,os_sys_init (init)啟動了初試化任務。在初試化任務中,又先后啟動了4個任務,啟動后,

刪除初試化任務。這4個任務各自控制一個LED的開關。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表