刚开始启动打印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();
}
改大的试了,还是一样卡死,与这个没关系!谢谢你的热心回答
@liuyang828 不客气,再试一下使用
printf
代替rt_kprintf
是否能够解决问题一样的
单步可以,全速就会卡死
@liuyang828 那还是调试看看具体死在哪里,因为会引起这个的原因非常多,没有太多信息的话不好定位
恩,OK了
恭喜楼主调试成功,有时间可以分享一下具体是什么问题,如何解决的。