-1
im STM32上で新しいものがあり、問題が発生しました。STM32 USBバッファが正しく検索されない
私は次のコードを使用してUSB経由のものを送ってるのQtアプリで:m_valueはサイズ4を持っており、それはuint16_tです
switch (buffer[1])
{
case 18:
x = ((uint16_t)buffer[2] << 8) + buffer[3];
y = ((uint16_t)buffer[4] << 8) + buffer[5];
sr.m_value1[0] = x;
sr.m_value1[1] = y;
do(M);
を使用して
if (m_hidDevice->isOpen())
{
QByteArray buffer(m_hidDevice->readOutputBufferSize(), 0);
buffer[0] = 16;
buffer[1] = 18;
uint16_t number = 4096;
uint16_t randomValue = qrand() % number;
buffer[2] = (char)((randomValue >> 8) & 0x00ff);
buffer[3] = (char)(randomValue & 0x00ff);
buffer[4] = (char)((2556 >> 8) & 0x00ff);
buffer[5] = (char)(2556 & 0x00ff);
qDebug() << "------------" << randomValue;
qDebug() << "//" << (uint8_t)buffer[2] << "//" << (uint8_t)buffer[3];
qDebug() << "//" << (uint8_t)buffer[4] << "//" << (uint8_t)buffer[5];
m_hidDevice->write(buffer);
とSTM32F4イムに。
私のデータは* 8であるSTM32F4のxとy上の値が
x = 2083 (as expected)
y = 0
次にバッファのサイズは64バイトであるべきたがQtのアプリケーションに出力
あります5 = 40バイト。 なぜ私はバッファ内の値を正しく取得できないのですか?
よろしく、
エラーコード示されていないです。 –
エラーはありません.STM32のバッファに正しい値が含まれていません。 yは9 * 256(左シフト8)+ 252 = 2556でなければなりません。代わりに0 – user217354
と表示されているコードが原因ではありません。レポート記述子を確認してください。おそらくレポートを小さすぎると宣言しました。 –