Ошибка в SPI STM32G030
При передаче пакета больше 32 байт (в моём случае 36 - 4 адресных диода ws2812b), если 1-ый бит 33 байта high "1", то после передачи всего пакета любых остальных данных шина остаётся в "1". Баг проявляется в независимости от использования DMA в режиме LSB first.
Лечится установкой SPI_CR1_CPHA — Clock phase в "1" (вывод не используется)
Revision ID: REV_ID 0x1001, В errdata об этом нет.
На st меня забанили, да и сам бы забил, но вдруг это не баг конкретно этого чипа и кому то ещё поможет. Конфигурил через CMSIS, но как же без картинок :)
ps в теории надо бы проверить 16 битный режим и MSB, но скорее всего это подвержено тоже, т.к. с них и начинал. Код перенёс с stm32f030 где всё работало, но с одним диодом (9 байт).



кубические настройки
А что если попробовать другой экземпляр?
А то всякое бывает.
https://habr.com/ru/companies/ruvds/articles/525842