OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3119|回复: 3

HC32F460移植FreeRTOS没发生系统调度

[复制链接]

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2020-11-30
在线时间
22 小时
发表于 2022-4-24 16:45:30 | 显示全部楼层 |阅读模式
30金钱
int32_t main(void)
{
        int a;
        LL_PERIPH_WE(EXAMPLE_PERIPH_WE);                        //关闭写入保护
        BSP_CLK_Init();                                                                //小华官网提供的系统时钟配置
        Uart1Initialize(115200UL, USART_DATA_WIDTH_8BIT, USART_STOPBIT_1BIT, USART_CLK_DIV64,  \ USART_OVER_SAMPLE_8BIT, USART_PARITY_NONE);
        LL_PERIPH_WP(EXAMPLE_PERIPH_WP);                        //打开写入保护
    /* Add your code here */
        a = xTaskCreate((TaskFunction_t)main_task, (const char *  )"main_task", (uint16_t)1280, NULL, 1, NULL );
        printf("a = %d\r\n", a);        vTaskStartScheduler();  
    for (;;) {
                        
    }
}
int main_task(void)
{
        int a;        taskENTER_CRITICAL();
        a = xTaskCreate( led_task, "led_task", 256, NULL, 6, NULL );
        printf("a = %d\r\n", a);
         xTaskCreate(anthor_task, "anthor_task", 256, NULL, 7, NULL);
        printf("b = %d\r\n", a);
        taskEXIT_CRITICAL();
        while(1)
        {
               
        }
}


在以上的主函数中,main_task任务是创建成功的,串口等外设是正常使用,但freertos进入到main_task中,仅仅创建了创建main_task里面的anthor_task任务,led_task任务不清楚有没有被创建,但肯定是没发生调度,个人猜测是系统没发生调度,我的FreeRTOSConfig.h里面的配置都是配置好的,请问各位大佬,我可能是哪个移植环节出错了呢?

最佳答案

查看完整内容[请看2#楼]

这个问题我已经解决了,初始时的任务创建完其他任务不删除自身是不影响的,因为任务在发生调度之后根本没办法进入到最后的while(1)中
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2020-11-30
在线时间
22 小时
 楼主| 发表于 2022-4-24 16:45:31 | 显示全部楼层
xiaoxiaoren 发表于 2022-4-25 17:18
光看文字描述,忘了看楼主代码,main_task函数创建完其他两个任务,不删除自身,且最后有while(1),这样 ...

这个问题我已经解决了,初始时的任务创建完其他任务不删除自身是不影响的,因为任务在发生调度之后根本没办法进入到最后的while(1)中
回复

使用道具 举报

2

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
372
金钱
372
注册时间
2018-9-14
在线时间
51 小时
发表于 2022-4-25 16:57:10 | 显示全部楼层
another\LED任务里最后有没有调用能导致任务切换的API? 比如 vTaskDelay(1);
回复

使用道具 举报

2

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
372
金钱
372
注册时间
2018-9-14
在线时间
51 小时
发表于 2022-4-25 17:18:53 | 显示全部楼层
光看文字描述,忘了看楼主代码,main_task函数创建完其他两个任务,不删除自身,且最后有while(1),这样合理吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 13:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表