中级会员
 
- 积分
- 218
- 金钱
- 218
- 注册时间
- 2014-8-20
- 在线时间
- 0 小时
|
5金钱
*(u8 *)(0x8030080)
0x8030080我给里面写入了我接收到数据的长度,我用串口5发送USART_SendData(UART5,*(u8 *)(0x8030080));输出的数据是08,是对的
但是我用USART_SendData(UART4,*(u8 *)(0x8030080)); 发送,我接收到的是 08 20 08,屏蔽掉这句,数据就都是对的。
并且我用了校验,每发送一位,异或校验一次,校验码的结果是没有20 08的话,就是对的。但是我发送出去的数据就会多20 08这两位。
还有一个现象,我这边显示发送的数据比如 是正确的是 01 02 03...00 08 ...... 结果我发送出去的是 01 02 03..... 00 08 20 08..... 我把这数据发送到TCP服务器端,但是服务器收到的就没00 08 20 08这几个数据。
只有前后正确的数据。
但是其他地方我也是这么发送的,都是对的,就在这个地方发送是有错误的。 并且我把FLASH模拟的EEPROM地址换了之后,我改到0x8020080,也是一样的结果 会多 20 08这两位,会发送出去00 08 20 08 服务器端,前后数据都有,就没这几个。。
原子哥,这是什么个情况呢?
|
最佳答案
查看完整内容[请看2#楼]
回复【4楼】styleno1:
---------------------------------
问题我解决了,但是我没有彻底解决。因为我换了一种方法解决的。
我给那个数据加了0x00,然后再发送,就对了。但是我也不知道为什么。
|