我工作的一些ADC(模拟到数字)值的转换,需要在UART但由于发送这些值我希望将这些转换为一个字节大小我可以发送一个2字节大小的变量作为1字节大小变量吗?
ADC的速度和其他大小限制是0.0至5.0范围内的12位。
目前我分裂2字节变量到两个独立的字节和在接收器部分
连接它们回到发送(C)
// i am trying to send 0xFF8 (4088) which is read from that register
send[0] = (VADC_G5RES4.B.RESULT) >> 8 ;
send[1] = (VADC_G5RES4.B.RESULT) & 0x0FF;
.
send[30] = .....
接收(Python)的
adc1 = data[3]
adc1 = adc1 << 8 | data[4]
adc1 = (float(adc1 * 5)/4096)
# gives me 4.990234 as the value
有没有什么办法可以发送一个字节的值(也许通过在发送端进行计算)
小数点后面只有两位数(4.99)就可以了
我不明白你怎么可以在一个单字节编码。 - 0-5需要3位,而0-99需要5位以上。 – NadavL
高位字节有多少位有意义?即这实际上是一个16位ADC或更少的东西。 – Clifford
其12位ADC –