CAN プロトコルを介してメッセージを転送します。
そのためには、CAN メッセージに uint8_t type のデータが必要です。したがって、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
.
ご協力いただきありがとうございます。