完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人先后用了7.0.1跟8.2.3两个版本的rtos,但是都有这样的问题
用软件烧写进去开发板,没有问题。 但是给开发板断电,再开的话,发觉main函数前面的语句如printf语句都不能打印信息, 是何缘故,求助,万分感激! |
|
相关推荐
6个回答
|
|
贴代码看看
|
|
|
|
#include "sys.h"
#include "delay.h" #include "usart.h" #include "led.h" #include "FreeRTOS.h" #include "task.h" /************************************************ ALIENTEK 精英STM32F103开发板 FreeRTOS实验2-1 FreeRTOS移植实验-库函数版本 技术支持:www.openedv.com 淘宝店铺:http://eboard.taobao.com 关注微信公众平台微信号:"发烧友",免费获取STM32资料。 广州市星翼电子科技有限公司 作者:发烧友 @ALIENTEK ************************************************/ //任务优先级 #define START_TASK_PRIO 1 //任务堆栈大小 #define START_STK_SIZE 128 //任务句柄 TaskHandle_t StartTask_Handler; //任务函数 void start_task(void *pvParameters); //任务优先级 #define LED0_TASK_PRIO 2 //任务堆栈大小 #define LED0_STK_SIZE 50 //任务句柄 TaskHandle_t LED0Task_Handler; //任务函数 void led0_task(void *pvParameters); //任务优先级 #define LED1_TASK_PRIO 3 //任务堆栈大小 #define LED1_STK_SIZE 50 //任务句柄 TaskHandle_t LED1Task_Handler; //任务函数 void led1_task(void *pvParameters); int main(void) { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//设置系统中断优先级分组4 delay_init(); //延时函数初始化 uart_init(115200); //初始化串口 LED_Init(); //初始化LED printf("main_startn"); //创建开始任务 xTaskCreate((TaskFunction_t )start_task, //任务函数 (const char* )"start_task", //任务名称 (uint16_t )START_STK_SIZE, //任务堆栈大小 (void* )NULL, //传递给任务函数的参数 (UBaseType_t )START_TASK_PRIO, //任务优先级 (TaskHandle_t* )&StartTask_Handler); //任务句柄 vTaskStartScheduler(); //开启任务调度 } //开始任务任务函数 void start_task(void *pvParameters) { taskENTER_CRITICAL(); //进入临界区 //创建LED0任务 xTaskCreate((TaskFunction_t )led0_task, (const char* )"led0_task", (uint16_t )LED0_STK_SIZE, (void* )NULL, (UBaseType_t )LED0_TASK_PRIO, (TaskHandle_t* )&LED0Task_Handler); //创建LED1任务 xTaskCreate((TaskFunction_t )led1_task, (const char* )"led1_task", (uint16_t )LED1_STK_SIZE, (void* )NULL, (UBaseType_t )LED1_TASK_PRIO, (TaskHandle_t* )&LED1Task_Handler); vTaskDelete(StartTask_Handler); //删除开始任务 taskEXIT_CRITICAL(); //退出临界区 } //LED0任务函数 void led0_task(void *pvParameters) { static int count=0; while(1) { LED0=~LED0; printf("led0:count=%dn",count++); vTaskDelay(500); } } //LED1任务函数 void led1_task(void *pvParameters) { while(1) { LED1=0; vTaskDelay(200); LED1=1; vTaskDelay(800); } } |
|
|
|
你用的是原子的代码,请问下@zuozhongkai
|
|
|
|
测过我们的例程,不会有这种事情发生。
|
|
|
|
我用的就是你们的例程呀。上面有贴出代码。
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
758 浏览 0 评论
1142 浏览 1 评论
2522 浏览 5 评论
2854 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2701 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1031浏览 3评论
183浏览 2评论
449浏览 2评论
360浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
447浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-13 02:32 , Processed in 1.239049 second(s), Total 93, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号