久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
FreeRTOS stm32f103c8t6 keil工程源碼與開發(fā)手冊下載
[打印本頁]
作者:
thw01
時間:
2018-9-6 11:42
標(biāo)題:
FreeRTOS stm32f103c8t6 keil工程源碼與開發(fā)手冊下載
在STM32F103C8T6上移植FreeRTOSFreertos 移植到stm32F103ct6,參考的是《STM32F103 FreeRTOS開發(fā)手冊V1.1.pdf》第6章實(shí)驗2,實(shí)驗中會創(chuàng)建兩個應(yīng)用任務(wù)task1_task和task2_task,當(dāng)task1_task運(yùn)行5次之后會刪除task2_task,同時實(shí)現(xiàn)LED閃爍功能。考慮到C8T6的存儲空間有限,未采用正點(diǎn)原子的FreeRTOSConfig.h文件!!
全部資料51hei下載地址:
FreeRTOS_ALL_6-2_180424-2115.rar
(532.36 KB, 下載次數(shù): 206)
2018-9-6 11:42 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
STM32F103 FreeRTOS開發(fā)手冊V1.1.pdf.7z
(10.68 MB, 下載次數(shù): 188)
2018-9-6 11:42 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
單片機(jī)源程序如下:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "timer.h"
#include "FreeRTOS.h"
#include "task.h"
/************************************************
************************************************/
//空閑任務(wù)任務(wù)堆棧
static StackType_t IdleTaskStack[configMINIMAL_STACK_SIZE];
//空閑任務(wù)控制塊
static StaticTask_t IdleTaskTCB;
//定時器服務(wù)任務(wù)堆棧
static StackType_t TimerTaskStack[configTIMER_TASK_STACK_DEPTH];
//定時器服務(wù)任務(wù)控制塊
static StaticTask_t TimerTaskTCB;
//任務(wù)優(yōu)先級
#define START_TASK_PRIO 1
//任務(wù)堆棧大小
#define START_STK_SIZE 128
//任務(wù)堆棧
StackType_t StartTaskStack[START_STK_SIZE];
//任務(wù)控制塊
StaticTask_t StartTaskTCB;
//任務(wù)句柄
TaskHandle_t StartTask_Handler;
//任務(wù)函數(shù)
void start_task(void *pvParameters);
//任務(wù)優(yōu)先級
#define TASK1_TASK_PRIO 2
//任務(wù)堆棧大小
#define TASK1_STK_SIZE 128
//任務(wù)堆棧
StackType_t Task1TaskStack[TASK1_STK_SIZE];
//任務(wù)控制塊
StaticTask_t Task1TaskTCB;
//任務(wù)句柄
TaskHandle_t Task1Task_Handler;
//任務(wù)函數(shù)
void task1_task(void *pvParameters);
//任務(wù)優(yōu)先級
#define TASK2_TASK_PRIO 3
//任務(wù)堆棧大小
#define TASK2_STK_SIZE 128
//任務(wù)堆棧
StackType_t Task2TaskStack[TASK2_STK_SIZE];
//任務(wù)控制塊
StaticTask_t Task2TaskTCB;
//任務(wù)句柄
TaskHandle_t Task2Task_Handler;
//任務(wù)函數(shù)
void task2_task(void *pvParameters);
//獲取空閑任務(wù)地任務(wù)堆棧和任務(wù)控制塊內(nèi)存,因為本例程使用的
//靜態(tài)內(nèi)存,因此空閑任務(wù)的任務(wù)堆棧和任務(wù)控制塊的內(nèi)存就應(yīng)該
//有用戶來提供,F(xiàn)reeRTOS提供了接口函數(shù)vApplicationGetIdleTaskMemory()
//實(shí)現(xiàn)此函數(shù)即可。
//ppxIdleTaskTCBBuffer:任務(wù)控制塊內(nèi)存
//ppxIdleTaskStackBuffer:任務(wù)堆棧內(nèi)存
//pulIdleTaskStackSize:任務(wù)堆棧大小
void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer,
StackType_t **ppxIdleTaskStackBuffer,
uint32_t *pulIdleTaskStackSize)
{
*ppxIdleTaskTCBBuffer=&IdleTaskTCB;
*ppxIdleTaskStackBuffer=IdleTaskStack;
*pulIdleTaskStackSize=configMINIMAL_STACK_SIZE;
}
//獲取定時器服務(wù)任務(wù)的任務(wù)堆棧和任務(wù)控制塊內(nèi)存
//ppxTimerTaskTCBBuffer:任務(wù)控制塊內(nèi)存
//ppxTimerTaskStackBuffer:任務(wù)堆棧內(nèi)存
//pulTimerTaskStackSize:任務(wù)堆棧大小
void vApplicationGetTimerTaskMemory(StaticTask_t **ppxTimerTaskTCBBuffer,
StackType_t **ppxTimerTaskStackBuffer,
uint32_t *pulTimerTaskStackSize)
{
*ppxTimerTaskTCBBuffer=&TimerTaskTCB;
*ppxTimerTaskStackBuffer=TimerTaskStack;
*pulTimerTaskStackSize=configTIMER_TASK_STACK_DEPTH;
}
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//設(shè)置系統(tǒng)中斷優(yōu)先級分組4
delay_init(); //延時函數(shù)初始化
uart_init(115200); //初始化串口
LED_Init(); //初始化LED
printf("\r\n\r\n");
printf("--------------------------------------------------------\r\n");
printf("-- Welcome to FreeRTOS \r\n");
printf("--------------------------------------------------------\r\n");
//創(chuàng)建開始任務(wù)
StartTask_Handler=xTaskCreateStatic((TaskFunction_t )start_task, //任務(wù)函數(shù)
(const char* )"start_task", //任務(wù)名稱
(uint32_t )START_STK_SIZE, //任務(wù)堆棧大小
(void* )NULL, //傳遞給任務(wù)函數(shù)的參數(shù)
(UBaseType_t )START_TASK_PRIO, //任務(wù)優(yōu)先級
(StackType_t* )StartTaskStack, //任務(wù)堆棧
(StaticTask_t* )&StartTaskTCB); //任務(wù)控制塊
vTaskStartScheduler(); //開啟任務(wù)調(diào)度
}
//開始任務(wù)任務(wù)函數(shù)
void start_task(void *pvParameters)
{
taskENTER_CRITICAL(); //進(jìn)入臨界區(qū)
//創(chuàng)建TASK1任務(wù)
Task1Task_Handler=xTaskCreateStatic((TaskFunction_t )task1_task,
(const char* )"task1_task",
(uint32_t )TASK1_STK_SIZE,
(void* )NULL,
(UBaseType_t )TASK1_TASK_PRIO,
(StackType_t* )Task1TaskStack,
(StaticTask_t* )&Task1TaskTCB);
//創(chuàng)建TASK2任務(wù)
Task2Task_Handler=xTaskCreateStatic((TaskFunction_t )task2_task,
(const char* )"task2_task",
(uint32_t )TASK2_STK_SIZE,
(void* )NULL,
(UBaseType_t )TASK2_TASK_PRIO,
(StackType_t* )Task2TaskStack,
(StaticTask_t* )&Task2TaskTCB);
vTaskDelete(StartTask_Handler); //刪除開始任務(wù)
taskEXIT_CRITICAL(); //退出臨界區(qū)
}
//task1任務(wù)函數(shù)
void task1_task(void *pvParameters)
{
u8 task1_num=0;
while(1)
{
task1_num++; //任務(wù)執(zhí)1行次數(shù)加1 注意task1_num1加到255的時候會清零!!
LED0=!LED0;
printf("任務(wù)1已經(jīng)執(zhí)行:%d次\r\n",task1_num);
if(task1_num==5)
{
if(Task2Task_Handler != NULL) //任務(wù)2是否存在?
{
vTaskDelete(Task2Task_Handler); //任務(wù)1執(zhí)行5次刪除任務(wù)2
Task2Task_Handler=NULL; //任務(wù)句柄清零
printf("任務(wù)1刪除了任務(wù)2!\r\n");
}
}
vTaskDelay(1000); //延時1s,也就是1000個時鐘節(jié)拍
}
}
//task2任務(wù)函數(shù)
void task2_task(void *pvParameters)
{
u8 task2_num=0;
while(1)
{
task2_num++; //任務(wù)2執(zhí)行次數(shù)加1 注意task1_num2加到255的時候會清零!!
LED1=!LED1;
printf("任務(wù)2已經(jīng)執(zhí)行:%d次\r\n",task2_num);
vTaskDelay(1000); //延時1s,也就是1000個時鐘節(jié)拍
}
}
復(fù)制代碼
作者:
admin
時間:
2018-9-12 05:08
好資料,51黑有你更精彩!!!
作者:
GARY0711
時間:
2018-12-1 15:04
不錯的資料,謝謝分享
作者:
hwasun
時間:
2018-12-24 16:46
不錯的資料,謝謝分享
作者:
huangxw
時間:
2019-1-11 10:07
stm32f103c8t6 的RAM比較小,看看堆定義多大。謝謝分享。
作者:
xtldw
時間:
2019-2-18 10:52
報了很多警告,還在處理中
作者:
xtldw
時間:
2019-2-22 08:31
我已經(jīng)移植好一個全功能的freeRTOS了
作者:
bo115891
時間:
2019-2-23 00:02
嗯,這貼子網(wǎng)站跟codeforge.cn 有相似之處! 不錯
作者:
libinhithd
時間:
2019-3-28 15:55
不錯的資料,謝謝分享
作者:
dhma
時間:
2019-6-24 12:26
謝謝,很好用
作者:
211209
時間:
2019-8-8 16:49
這個pdf文件不能復(fù)制的
作者:
Andy-Yeung
時間:
2019-9-7 09:33
謝謝分享
作者:
1649293198
時間:
2020-5-18 14:58
先收藏了,謝謝分享
作者:
六號啦
時間:
2020-5-18 18:16
感謝大佬 正好要學(xué)一下操作系統(tǒng)
作者:
wliuxiaoxiaow
時間:
2020-12-16 20:41
工程好多警告
作者:
lgv100
時間:
2021-6-1 00:05
不錯,直接編譯稍微修改運(yùn)行在了其他開發(fā)板子上。
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
99视频免费在线观看
|
欧美一二
|
av国产精品
|
国产又粗又猛又爽又黄
|
国产一区二区中文字幕
|
www.麻豆av
|
久久久久人
|
亚洲欧美日韩国产精品
|
91日韩欧美
|
亚洲欧美成人
|
亚洲精品在线视频
|
在线观看黄色小视频
|
亚洲国产网站
|
国产区一区二区
|
天天干天天拍
|
五月天婷婷网站
|
精品伊人久久
|
中文字幕在线一区二区三区
|
黄色在线免费看
|
国产精品久久久一区二区三区
|
一级片av
|
激情福利视频
|
天天干天天看
|
香蕉看片
|
亚洲一级片在线观看
|
欧美一级免费看
|
欧美一级黄
|
国产中文一区
|
免费av大片
|
激情视频网址
|
久久免费视频网站
|
国产香蕉av
|
一级大片
|
黄色成人在线
|
四虎影视最新网址
|
日韩影院在线观看
|
久久精品综合
|
四虎视频
|
国产一区二区精品在线
|
国产又色又爽又黄又免费
|
97国产视频
|