STM32系统板通过串口下载程序

硬件连接

使用的是带板载CH340的STM32F103C8T6最小系统板,直接通过图中左上角Micro USB接口连接到电脑即可,如果是外接串口模块,务必把串口模块的TX连接到PA10,RX连接到PA9,因为STM32只能通过USART1进行ISP下载。

软件设置

下载串口驱动

下载地址:CH340驱动

下载完毕后双击.exe文件安装即可

安装完毕后,连接硬件,打开电脑设备管理器,可以看见如下图所示成功识别到CH340串口(单片机端必须连接到电脑后才会显示),端口号是COM8(不同电脑分配端口号可能不同),即为驱动安装成功。

下载烧录软件

STM32可以通过FlyMcu软件实现串口烧录。

FlyMcu下载地址

这是一款绿色软件,无需安装,解压后点击.exe文件即可使用,软件开始界面如下图:

点击搜索串口,自动搜索已连接的串口。

通过窗口上方选项卡可以自由设置串口端口和串口传输波特率(bps),其中波特率默认为115200bps,由于在前面设备管理器中看见CH340连接到COM8,故这里手动把端口设为COM8。

根据单片机型号设置复位模式和BootLoader,对于STM32F103C8T6,选择RTS的低电平复位,DTR高电平进BootLoader即可。

烧录验证

通过串口烧录首先需要编译程序生成.HEX文件:

打开Keil工程,这里我写了一个通过按键控制LED灯亮灭的简单程序:

  while (1)
  {
    /* USER CODE END WHILE */
		if(HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin)){
			HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);
		}else{
			HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET);
		}
    /* USER CODE BEGIN 3 */
  }

按键按下,LED灯亮,按键抬起,LED灯熄灭。

打开Keil编译配置窗口(魔术棒)。

在Output选项卡下勾选Create HEX File,点击OK保存配置并退出。

HEX文件生成路径即为图中显示路径,一般在编译后产生的工程同名文件夹下(这里的工程名为GPIO)。

点击Build编译工程,成功编译后打开工程所在目录,选择工程同名文件夹,显示可以找到.hex文件。在烧录工具FlyMcu中选择对应路径下的文件。

点击开始编程,此时发现软件一直卡在开始连接界面,如图:

这是因为这款最小系统板没有独立连出Boot引脚可以手动调节,而是把两个Boot引脚均通过一个10k电阻下拉到GND(如下图原理图),单片机在上电后读取到Boot0=0,Boot1=0直接进入内置Flash中。

故需要通过按下Reset复位,使得单片机重新读取Boot值进入BootLoader,之后便能显示成功烧录,如下图:

但是此时发现单片机未能像前程序预设一样通过按键控制LED灯的亮灭,原因是此时任然停留在BootLoader模式下,需要按下reset按键复位单片机,使之再次读取Boot引脚从而退出BootLoader模式,然后便能正确执行代码逻辑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值