本帖最后由 myfocus-2048857 于 2016-12-21 18:37 编辑 发送的是int数据,为何显示的是ASCII字符 ? 见图一,RS485主机端发送的是unsigned int型数据(0,1,2,3,4,5...); 见图二,丛机端接收后,通过printf打印到PC串口工具(见图三),显示的是ASCII字符。 请问: 1. 我发送的是unsigned int型数据,为什么在串口工具显示的是ASCII ? 2. 我想要 在 串口工具端也显示unsigned int型数据,该如何实现 ? 说明: 丛机接收端 RS485接收和printf用的是一个USART。 谢谢 ! 附图一 附图二 附图三 |
LZ注意数据类型呀,你上面虽然定义了了unsigned int 没错是四个字节,但是串口出去的一个字节uint8_t,所以发送过程中舍去三个字节,如果想用串口传输小数或者整数甚至有符号数,建议LZ用memcpy函数处理一下,当然接收端也要根据端序做相应拼包
评分
查看全部评分
RS485发送完成转换到接收状态20ms刚刚好,再长或者在短都会有问题。
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
这个到底是那个,看大小端决定的,但是肯定是丢了三个字节,自己做个内存测试一下