首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

串口发送的数据全部变成0了,好奇怪!顶也有分啊该如何处理

2012-03-27 
串口发送的数据全部变成0了,好奇怪!!顶也有分啊定义了一个数组xdataunsignedcharComInit[17]0x02,0x00,0x

串口发送的数据全部变成0了,好奇怪!!顶也有分啊
定义了一个数组
xdata   unsigned   char   ComInit[17]=0x02,0x00,0x11,0x03,0xAA,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0xB9,0x03};
每秒发送一次给PC机
sendString(ComInit,   17);     //发送函数
本来一切都正常,后来工程中加入了3个.c文件,没有涉及任何的串口操作,每秒发送的数据全变成了0x00   0x00......
不知道怎么回事啊?这是什么原因造成的?

[解决办法]
有定时器操作没?
板子上有没有相互干扰?
[解决办法]
一个文件一个文件的加,看看是谁的问题,然后一句话,一句话的加,就找到为什么了
[解决办法]
我说的定时器特指串口使用的定时器...

你加入的文件有没有偷偷使用了这个定时器.

板子上的干扰,先把串行口周围用到的线的功能先停了,只用串口,然后功能一一加上,就能找出来是哪的问题...
[解决办法]
数据覆盖了
查看数据区的分配使用情况
是否重叠
[解决办法]
很可能是堆栈溢出,请问你的串口波特率是通过公式计算出来的吗?如果是这样的话,有可能因为3个文件的引入影响了相关变量的地址分配,从而导致计算波特率计算错误,最终出来的数据有误。

热点排行