rtthread移植nxplpc54102 rt_kprintf 打印异常

发布于 2020-07-10 16:27:48

刚开始启动打印rt_show_version(),是可以打印。然后进入main后,调用rt_kprintf(),直接会卡死。而直接用串口函数打印数据就正常。

    Board_LED_Set(0, true);
        rt_thread_delay(1000);
//    rt_kprintf("LED1_thread running,led_on\n");  
    ROM_UART_Send(hUART, uart_buf2, sizeof(uart_buf2));
            
    Board_LED_Set(0, false);
    rt_thread_delay(1000);
//    rt_kprintf("LED1_thread running,LED1_off\r\n");
    ROM_UART_Send(hUART, uart_buf3, sizeof(uart_buf3));
    
    
    
void rt_hw_console_output(const char *str)
{
    ErrorCode_t ret;
    rt_enter_critical();
    
    while(*str !='\0') //×Ö·û´®½áÊø
    {
    if(*str == '\n') //»»ÐÐ
    {
                        
    ret=ROM_UART_Send(hUART, (uint8_t*)'\r', 1);
    if(ret == LPC_OK)    
    {                                                        
             ROM_UART_WaitTx(hUART);
    }
    }
    //SendData
    ret = ROM_UART_Send(hUART, (uint8_t*)(str++), 1);
    if(ret == LPC_OK)    
    {        
        ROM_UART_WaitTx(hUART);
    }
        }
        //exit critical
        rt_exit_critical();
}    
    

查看更多

关注者
0
被浏览
197
1 个回答
CrisJay
CrisJay 认证专家 2020-07-10

进入 rtconfig.h 文件查看一下 main 线程的堆栈定义 RT_MAIN_THREAD_STACK_SIZE 是不是设置的太小了,设置为2048试一下。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览