STM32CubeMX学习笔记

  1. RCC设置,选择HSE(外部高速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
  2. Multimedia(多媒体):音频视频、LCD
    Control(控制):定时器
    Analog(模拟):DAC、ADC
    Connectivity(通讯连接):串口、SPI 、I2C、USB、ETH
    SYStem(系统):DMA(直接存储器存取)、GPIO、NVIC、RCC、看门狗
  3. 管脚初始化函数在main文件中定义例如MX_GPIO_Init
  4. stm32f1xx_hal_gpio.h头文件中可以看到GPIO的操作函数
  5. HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)引脚翻转
  6. ST-LINK 只能用SW模式,不能用JTAG模式 JTAG 是可以提供电源的,但是驱动能力很弱,所以要单独供电
  7. 最近在使用stm32f4-discovery 板子时,偶然间遇到st-link no target connected的问题,本来一直都很正常,突然就冒出这个问题,我一开始以为是板子出毛病了。后来上网查阅了资料后才发现不是板子的问题。解决办法如下:(开发环境是 MDK 4.6)

显示“NO target connected“ 但是驱动没有问题 在设备管理器中海显示出有stlink
原因是配置了GPIOA的 14 13这两个口了

GPIOA_MODER复位后的值为:0x2800 0000,即将GPIO13\14配置为复用模式,但为什么在程序配置了GPIO13\14为输出,并且在目标芯片有复位的情况下也会引起SWD无法仿真、下载的问题。

解决办法:

1、先确认目标板上电。
2、先长按住目标板上的复位键,再点击 Settings,再松开目标板上的复位键。
3、此时KEIL打开Settings的设置对话框,请确认有SWD的内容后,再进行下一步。
4、将STM32F41Discovery板断电,重新上电。
5、先长按STM32F4Discovery的复位键,再点击仿真或者下载按钮,再松开复位键。
注:这里点仿真到松开复位键不是每一次都能成功,每次点了仿真键到松开复位键的时间每次都不同,在某一个点时,就可以进入仿真或者下载程序了。板子就恢复正常了。但需要注意的是,在程序里一定要避开对GPIO13\GPIO14的配置。

注意:松开复位键 需要感觉的 太短或者太长都不可以的 。需要多次试验才能够成功。

猜你喜欢

转载自blog.csdn.net/qq_37633935/article/details/81033499