Ну, на асме - это уж чересчур, а вот на нормальном С безо всяких говнолиб - очень даже правильно. В любом случае придется читать даташит, но если сам пишешь себе сниппеты, то не придется еще и чужой говнокод читать, чтобы понять, когда какую функцию вызвать и делает ли эта функция то, что нужно, или там опять что-то забыли. Я уж молчу, что все эти SPL/HAL жутко избыточны: они столько лишних движений делают, что ну их нафиг. Вот было бы здорово иметь что-то подобное, но на чистых макросах и вообще без излишеств.
Да пепсец. MX_Cube сгенерировал инит в HAL. Ладно, хорошо. Начинаю добавлять свой код. Компилю. И тут вижу, что компилятор понимает GPIOA->MODER = 0x00000000 ; //к примеру и не понимает и дает ошибку на GPIOA->BSRRL = 0x0008 ; //Set PA3 GPIO SPI1 soft NSS to HIGH той же версии ХАЛ. Как прописать в регистр конфигурации чего то, например RCC, по его физическому адресу??? -------------------------- Ладно, идешь обратным путем и внедряешь в рабочий проект с платой Дискавери STM32F407 инициацию RCC для похожей платы с другим кварцем 12мгц и процем STM32F427. При компиляции не хочет знать функции __HAL_RCC_PWR_CLK_ENABLE() HAL_PWREx_EnableOverDrive() _Error_Handler(__FILE__, __LINE__) и они не находятся поиском не только в проектах, но и в интернете проблемно, вообще интересно, как в таком случае успешно компилится генерация CubeMX
Comments 3
Вот было бы здорово иметь что-то подобное, но на чистых макросах и вообще без излишеств.
Reply
Компилю.
И тут вижу, что компилятор понимает
GPIOA->MODER = 0x00000000 ; //к примеру
и не понимает и дает ошибку на
GPIOA->BSRRL = 0x0008 ; //Set PA3 GPIO SPI1 soft NSS to HIGH
той же версии ХАЛ.
Как прописать в регистр конфигурации чего то, например RCC, по его физическому адресу???
--------------------------
Ладно, идешь обратным путем и внедряешь в рабочий проект с платой Дискавери STM32F407 инициацию RCC для похожей платы с другим кварцем 12мгц и процем STM32F427.
При компиляции не хочет знать функции
__HAL_RCC_PWR_CLK_ENABLE()
HAL_PWREx_EnableOverDrive()
_Error_Handler(__FILE__, __LINE__)
и они не находятся поиском не только в проектах, но и в интернете проблемно, вообще интересно, как в таком случае успешно компилится генерация CubeMX
Reply
Задуманное типа для упрощения жизни, превращается в широкий простор для сношения.
Reply
Leave a comment