ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
1037698 Топик полностью
Andreas (18.09.2020 20:02, просмотров: 362) ответил teap0t на Да, кстати. Правильно ли я понимаю, что в этом случае надо использовать что-либо подобное: (?)
Нет, надо как йцукен написал. Но это редчайшее исключение, которое подтверждает правило, что нечего постоянно явно разрядность менять. 

Это выборка из дебильного FIFO, которое в зависимости от разрядности чтения выдает( передает по SPI ) на шину 1 или 2 байта. Поэтому ваш вариант сначала считает 16 бит из FIFO, поскольку физически регистр 16 разряядный. И эти 16 бит есть 2 принятых байта. Потом просто отбросит старшие 8 бит.

поэтому единственный вариант считать из FIFO именно один байт - это сделать указатель на uint8_t и считать его. Тогда компилятор для CortexM3 вставит асмовскую команду чтения байта и считается именно байт. А уж пихать его можно хоть в uint8_t, хоть в uint32_t(что проще и быстрее).