ruan18278816371 发表于 2014-4-24 22:05:17

NRF905无线通信,数据传输错误是什么原因?

        用nrf905传输温湿度数据,在液晶上两个数据显示都为为0,这个温湿度传感器直接挂到单片机上用液晶显示是正常的,NRF905定义的发送缓冲区的数据类型和采集到的数据类型是一样的,有遇到类似问题的同志吗?我考虑了几个出现这问题原因:1、温湿度根本没采集到,2、发送数据出现问题,3、接收数据出现问题,4、在发送数据之前数据处理有问题。本想用串口打印来查个究竟的,但是我的向串口发送一个字节函数也不知道为什么不能用了,我怀疑出现第四种情况比较大且是在数据发送之前的处理有问题的可能性比较大.请各位指导,下面上传我的代码,里面都有注释容易看懂的。

ruan18278816371 发表于 2014-4-24 22:41:05

检查了一下里面的串口函数用错了应该是用这个函数的UART_Put_Num(U8T_data_H_temp);串口打印出采集到的温湿度值,但是我加入这个函数后从机就不能向主机发送数据了,正在检查测序是不是死在我加入的串口函数里了!

ruan18278816371 发表于 2014-4-25 08:51:38

我用串口找到一部分原因了,温湿度传感器与单片机的接口没接对{:sweat:},导致传感器不工作所以数值一直为0,。不过现在新的问题又出现了,传输的数据乱码,又得排查{:sad:}

master5888 发表于 2014-4-25 09:54:24

调试慢慢来,逐步成功。
最近也在搞类似的项目,LZ这个无线测温项目应用在哪个行业?

78tide 发表于 2014-4-25 10:26:16

以前用过NRF905,用在抄表上。

ruan18278816371 发表于 2014-4-25 16:15:35

master5888 发表于 2014-4-25 09:54
调试慢慢来,逐步成功。
最近也在搞类似的项目,LZ这个无线测温项目应用在哪个行业? ...

嗯,谢谢!没有应用在哪个行业拿来玩玩而已,现在问题基本解决,之前算是测试通信正常而已接下来是优化代码。说也奇怪我把数据放在NRF905的.c文件里面处理(即把采集到的温湿度赋值给905的发送缓冲区),在赋值之前用串口打印查看这个采集到的温度和湿度数据的高八位居然都超出定义的数据范围(缓冲区和采到的温湿度的数据类型都是unsigned char类型),低八位却没超出。之后我把数据直接在温湿度传感器(DHT11)的.c文件里赋值给发送缓冲区,发送回来在液晶上显示的数据却正常了!不解啊!?
页: [1]
查看完整版本: NRF905无线通信,数据传输错误是什么原因?