workinging2 发表于 2011-12-26 09:48:09

串口通信奇怪现象求解。

环境为89C52单片机。单片机在#include<stdio.h>之后,发送printf("%0.2f,%0.2f,%0.2f,%0.2f",1.00,2.00,3.00,4.00);上位机用串口助手之类的只能够收到前3个变量,而第四个变量为0,即1.00,2.00,3.00,0.00.经过多次测试,printf一次最多发送3个变量,瓶颈在哪里呢,怎么解决?

workinging2 发表于 2011-12-26 10:00:25

怎么没人啊

lhj200304 发表于 2011-12-26 10:51:40

每次发完都关闭串口了吗? 用示波器看一下,应该是你的上边的串口软件每次只显示3个的问题了

comway 发表于 2011-12-27 16:11:02

你自己已经回答了嘛
单片机的printf有限制的,不像PC那么强,想发多少都行的

t3486784401 发表于 2011-12-27 16:30:02

查了下KEIL的帮助文件,有这么一段:

http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_708030QE6CA0.png
Keil帮助中关于printf的注释 (原文件名:2011-12-27_162642.png)

就是说在SMALL和COMPACT两种编译模式下,最多能传递15字节的参数,按着sizeof(float)=4来算,的确三个浮点数就满了
页: [1]
查看完整版本: 串口通信奇怪现象求解。