金牌会员
- 积分
- 1770
- 金钱
- 1770
- 注册时间
- 2017-10-8
- 在线时间
- 217 小时
|
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);
RT_Thread系统中如果要实现对浮点数的打印效果,可以考虑在kservice.c中创建一个专门的浮点数打印的函数,
#include <stdio.h>
/*****************************单独进行浮点数显示的函数****************************************/
#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;
}
在主函数中 调用函数即可dbg_printf("the value is:%.4f\n",vol_value_point);
|
|