我设计了一块带有
STM32G431 MCU 的
电路板(如有必要,我会附上原理图),现在正在尝试测试它的工作原理。我正在使用 CMSIS 进行编程并编写了最简单的闪烁程序(LED 在 PB3-6 上):
- #include "stm32g431xx.h"
- void delay(uint32_t time);
- uint32_t someVar = 0;
- int main(void)
- {
- RCC->AHB2ENR |= RCC_AHB2ENR_GPIOBEN;
- GPIOB->MODER &= ~0x00003FC0;
- GPIOB->MODER |= 0x0001540;
- GPIOB->ODR |= 0x0078;
- while ( 1 )
- {
- delay(300000);
- GPIOB->ODR ^= 0x0078;
- someVar += 1;
- }
- }
- void delay(uint32_t time)
- {
- for ( uint32_t i = 0; i < time; ++i );
- }
当我调试它时。它工作得很好,但在我点击重置后它不再工作了。我检查了 st-link 实用程序。该程序仍在闪存中。任何人都可以解释发生了什么以及如何解决它吗?