标题:
STM32F10x FreeRTOS工程模板(源码下载)
[打印本页]
作者:
829xuming
时间:
2018-12-20 17:11
标题:
STM32F10x FreeRTOS工程模板(源码下载)
图像 1.jpg
(62 KB, 下载次数: 24)
下载附件
2018-12-20 17:02 上传
CORE: 启动文件
STM32F10x_Fwlib: 硬件外设
USER: 主函数及其它
Project: 工程项目文件及其它输出的文件
0.png
(41.35 KB, 下载次数: 27)
下载附件
2018-12-20 17:26 上传
STM32单片机源程序如下:
#include "sys.h"
#include "led.h"
#include "delay.h"
#include "usart.h"
/*FreeRTOS头文件*/
#include "FreeRTOS.h"
#include "task.h"
#define start_prio 1 //任务优先级
#define start_size 128 //任务堆栈
TaskHandle_t start_handle; //任务句柄
void start_task(void *pvParameters); //任务申明
#define led_prio 2
#define led_size 50
TaskHandle_t led_handle;
void led_task(void * pvParameters);
#define time_prio 3
#define time_size 50
TaskHandle_t time_handle;
void time_task(void * pvParameters);
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); //设置系统中断优先级分组4
delay_init();
uart_init(115200);
LED_Init(); //初始化LED
//创建任务
xTaskCreate(start_task, //任务函数
"start_task", //任务名称
start_size, //堆栈大小(字)
NULL, //传递给任务函数的参数
start_prio, //任务优先级
&start_handle); //任务句柄
vTaskStartScheduler(); //开启任务调度
}
//开始任务
void start_task(void * pvParameters)
{
taskENTER_CRITICAL(); //进入临界区
//创建任务
xTaskCreate(led_task,
"led_task",
led_size,
NULL,
led_prio,
&led_handle);
xTaskCreate(time_task,
"time_task",
time_size,
NULL,
time_prio,
&time_handle);
vTaskDelete(start_handle); //删除开始任务
taskEXIT_CRITICAL(); //退出临界区
}
//呼吸灯
void led_task(void * pvParameters)
{
while(1)
{
LED=!LED;
vTaskDelay(200);
}
}
//开机时间
void time_task(void * pvParameters)
{
u16 x=0;
while(1)
{
vTaskDelay(1000);
printf("运行时间: %ds\n",x);
}
}
复制代码
所有资料51hei提供下载:
STM32F10xFreeRTOS工程模板.7z
(299.03 KB, 下载次数: 68)
2018-12-20 17:27 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
生命花火
时间:
2019-7-25 15:41
为什么下载到板子没用啊
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1