本帖最后由 zhyixi 于 2022-4-24 16:43 编辑
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里面的配置都是配置好的,请问各位大佬,我可能是哪个移植环节出错了呢?
|