我通过 CAN 协议传输消息。
为此,CAN 消息需要 uint8_t 类型的数据。所以我需要将我的 char* 转换为 uint8_t。通过对本网站的研究,我生成了以下代码:
char* bufferSlidePressure = ui->canDataModifiableTableWidget->item(6,3)->text().toUtf8().data();//My char*
/* Conversion */
uint8_t slidePressure [8];
sscanf(bufferSlidePressure,"%c",
&slidePressure[0]);
如您所见,我char*
必须适应sliderPressure[0]
。
我的问题是,即使我在编译过程中没有错误,slidePressure 中的数据也是完全不正确的。确实,我用 a 测试它char* = 0
并且我有未知字符......所以我认为问题必须来自转换。
我的数据可以Bool, Uchar, Ushort and float
。
谢谢你的帮助。