- 打卡等级:初来乍到
- 打卡总天数:2
- 最近打卡:2024-08-09 10:21:33
新手上路
- 积分
- 39
|
32F12K54系列单片机,我出现的问题: 当使用 浮点运算单元 时格式化打印会出现问题,关闭浮点运算单元,格式化打印没有问题。
我的格式化打印函数为:
void print_uart3(volatile char *stringg, ...)
{
volatile char stringx[100]; //一个足够长的字符串
va_list arg;
va_start(arg,stringg);
vsprintf(stringx,stringg,arg);
va_end(arg);
uart3_sendstr(stringx); //发送函数 可以是oled usart spi 。。。。字符串格式
}
uart3_sendstr是串口发送函数,可以替换为其他的字符串打印函数。
若我使用 print_uart3("%f\n",a); 将float类型变量a打印出来,将会使单片机不停重启。
若我使用 print_uart3("%d\n",a); 将int类型变量a打印出来,则单片机正常运行。
若我关闭浮点运算单元
则单片机正常打印浮点数。
我的问题代码在附件中
请求各位帮忙解决。
|
|