RT_Thread系統在串口打印時出現如下所示的問題,
(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread) assertion failed at function:rt_thread_sleep, line number:576
此時的解決辦法就是增加RT_Thread線程的內存大小
thread_adc=rt_thread_create("adc_thread", adc_entry, NULL, 256, 20,30);
改為
thread_adc=rt_thread_create("adc_thread", adc_entry, NULL, 1024, 20,30);
/*****************************單獨進行浮點數顯示的函數****************************************/
#define DBG_BUFF_MAX_LEN 256
int dbg_printf(const char *fmt,...)
{
va_list args;
static char rt_log_buf[DBG_BUFF_MAX_LEN]={0};
va_start(args,fmt);
int length=vsnprintf(rt_log_buf,sizeof(rt_log_buf)-1,fmt,args);
rt_kputs(rt_log_buf);
return length;
}
|