Эх, классные грабельки
В STM32F3-Discovery по умолчанию залита рабочая демо компаса. А если перекомпилить и залить STM32F3Discovery_FW_V1.1.0, имеем нерабочий компас.
Не могу найти Discovery_FW версии V1.0.0, похоже там нет ошибки.
Подменил обработку компаса этим, заработал:
https://github.com/Laurenceb/STM32F3Dis ... src/main.cНо, как-то упрощена обработка тилт.
В STM32F3Discovery_FW_V1.1.0 ошибка:
- Код: Выделить всё • Развернуть
fTiltedY = MagBuffer[0]*fSinRoll*fSinPitch+MagBuffer[1]*fCosRoll-MagBuffer[1]*fSinRoll*fCosPitch;
Исходя из:
- Код: Выделить всё • Развернуть
X h = X M cos Pitch + Z M sin Pitch
Yh = X M sin Roll sin Pitch + YM cos Roll − Z M sin Roll cos Pitch
должно быть:
- Код: Выделить всё • Развернуть
fTiltedY = MagBuffer[0]*fSinRoll*fSinPitch+MagBuffer[1]*fCosRoll-MagBuffer[2]*fSinRoll*fCosPitch;
Есть еще ошибки. Сцуки...
Добавлено спустя 8 минут 5 секунд:Кто знает как в плату залить чистый HEX?
STM32 ST-LINK Utility не видит cpu, а IAR ругается:
- Код: Выделить всё • Развернуть
Failed to generate .sim file from debug file: C:\stm32f3discovery_fw\STM32F3-Discovery_FW_V1.1.0\Project\Demonstration\Binary\STM32F3_Discovery_Demo_V1.0.0.hex
По ходу это прошивка без ошибки компаса...