Использование HAL с двумя чипами: STM32F373RBT6
и STM32F042K6T6
. SPI
с DMA
установлено на обоих.
Я использую следующую структуру в коде для каждого процессора:
typedef __packed struct {
u16 command;
u16 status;
s32 motorPos;
} motorParams;
В отладке (ST-LINK) я могу Посмотрите, как первый пакет поступил правильно, а затем байты меняют порядок в структуре. Все данные есть, они просто в неправильном порядке.
Пример:
,
команда одна для включения двигателя, а затем для следующей пакет:
,
- включение отображается в поле позиции. И наконец,
,
позиция теперь разделена между полями команд и состояний.
Я проверил вывод на шине SPI на оскопе , глядя на чип выбора и данных сигналов. Все данные там и в правильном порядке поступают в чип M0.
Получая в M0
, SPI имеет указатель непосредственно на переменную для получения структуры.
Is Есть ли какие-то промежуточные проверки, которые я могу сделать, чтобы понять, почему данные меняются в структуре? Спасибо.