软件

题记:以前一直从事硬件开发工作,最近利用闲暇时间开始学习STM32单片机编程,努力成为一个初级嵌入式软件开发者,来适应时代的脚步。中年男人需要时刻学习,让自己进步,避免中年危机。

硬件设计

自己利用工作之余,自己设计了一款基于STM32F103VGT6的核心开发板,有2路RS232串口,一路TTL串口,一路USB,三个用户按键,一个复位按键。可以使用USB供电,也可使用外部DC5V电源供电,还可以使用电池供电,具有RTC功能;另外所有未使用的GPIO口都外扩出来,供其他功能使用。

stm32的gpio口有几种工作模式(STM32F103编写学习GPIO篇)(1)

本次学习的开发板

软件配置

打开ST的cube mx软件进行相关参数配置,目前都采用图形可视化配置编程,让编程变得更加简单,所有寄存器相关的配置工作都可以交给软件去做,开发者只需关注应用代码的编写就好了,以下是具体的一些配置界面。该软件是实现对GPIO口的操作,点亮4个LED灯。

stm32的gpio口有几种工作模式(STM32F103编写学习GPIO篇)(2)

软件打开界面

stm32的gpio口有几种工作模式(STM32F103编写学习GPIO篇)(3)

配置系统时钟作为基准计时

stm32的gpio口有几种工作模式(STM32F103编写学习GPIO篇)(4)

选择外部晶振

stm32的gpio口有几种工作模式(STM32F103编写学习GPIO篇)(5)

配置GPIO口

stm32的gpio口有几种工作模式(STM32F103编写学习GPIO篇)(6)

配置系统时钟树

stm32的gpio口有几种工作模式(STM32F103编写学习GPIO篇)(7)

配置产生的工程(使用IAR软件)

stm32的gpio口有几种工作模式(STM32F103编写学习GPIO篇)(8)

配置在线调试的接口,使用SWD

stm32的gpio口有几种工作模式(STM32F103编写学习GPIO篇)(9)

使用JLINK调试工具

,