软件介绍
STM32是一款专业的图形编程软件,支持Python、blockly、hex等代码的读写。用户可以在没有任何硬件支持的情况下,模拟运行环境、实时操作系统和中间件、开发套件、硬件模拟器和状态机建模工具。
软件功能
1、STM32学习门槛STM32的开发基于C语言,当然也使用了一些简单的汇编(启动文件)语言。我们不需要很懂汇编,熟悉几个简单的指令就可以了。C语言是需要掌握的,因为STM32的开发库用到很多结构、指针等知识,所以学好C语言是学好STM32的首要前提!
2.单片机原理
掌握了C语言的前提后,就可以开始学习STM32了。毕竟STM32也是MCU,也就是单片机,比51单片机复杂一点。所以需要了解单片机的工作原理,MCU是如何工作的,MCU中的RAM ROM CPU是如何协调工作的。
3.基本电路知识
一个完整的项目不仅包括MCU,还包括复杂的外围电路,如LED、蜂鸣器、LCD、各种传感器电路、电源电路等。,所以有必要掌握基本的电路知识。如晶体管、Mos晶体管、二极管等器件,以及用晶体管构成的开关电路和放大电路。
4.学习STM32应该是先易后难。
自学STM32一定要先易后难。不要急着做项目,先掌握单片机的基本外设,再做项目。可以先做简单的MCU外围实验,比如:STM32引导文件、GPIO、USART、IIC、SPI、RTC、DMA、ADC、定时器等。先掌握这些简单的外设,再学习复杂的外设如SDIO、ETH以太网、CAN等。其实在掌握了简单的外设之后,可以做一些练习,在实践中提升自己。
STM32ISP下载方法分析
自动ISP,直接把BOOT0接地,然后每次开机都运行程序。只需点击电脑上的“下载”按钮即可开始下载程序。下载程序后,你将开始执行它。为了实现这个目标,我们需要使用串行握手信号DTR和RTS。DTR连接到RESET引脚控制复位,RTS连接到BOOT0控制程序运行或等待下载。
下面讲解如何用USB转TTL芯片实现STM32自动ISP。CH340芯片如下图所示:
CH340芯片,DTR和RTS引脚一般都是高电平,低电平有效。因为STM32的RESET引脚一般是高电平和低电平复位,所以DTR可以直接接RESET。但是BOOT0是高级下载程序,是低级运行程序,和RTS正好相反,所以我们需要反过来加一个NPN晶体管。以下电路图显示:
ISP软件的选择:
看了上图的选择,有些人必然会有疑惑。应该是低电平复位,然后低电平进入BOOTLoader。不过需要注意的是,这里所说的高低电平是针对电脑原有的9针串口,也就是“232电平”。我们用的USB转TTL芯片是“TTL类”,正好相反。
下载过程和结果如下图所示:
注意:CH340刚刚上电,需要几秒钟才能稳定。在此期间,DTR引脚会有两三次变低,导致微控制器上电后复位两三次,稳定后不影响程序运行。如果不想让单片机多次上电复位,可以断开DTR,上电复位。
如何用stlink下载STM32
Http://pan.baidu.com/s/1dF5XqfR下载并安装驱动程序ST-LINK驱动程序将st-link插入usb,进入设备管理器,检查驱动是否安装成功。
Http://pan.baidu.com/s/1jHDE1X8下载并安装STVP刻录软件。
打开STVP,选择配置菜单栏下的配置ST Visual Programmer,弹出如图界面。选择ST-LINK和SWD模式,然后选择芯片的型号,并单击确定。
至于ST-link与stm32的连接,只需要将ST-link上的VCC、GND、SWCLK、SWDIO连接到stm32对应的管脚上即可。注意芯片的工作电压是5V还是3.3V不要搞错了。
菜单栏下面有一排图标按钮。单击第二个按钮刻录程序。如果芯片之前已经刻录过,请单击第五个按钮,在刻录之前擦除程序。
使用swd下载STM32的必要操作
1.一般stm32会被swd下载,因为节省了pin。2.所以不管用不用JTAG别针。最好的方法是先禁用jtag,这样可以避免在你操作的时候发现一个管脚已经不可用了。
根据设计向上或向下拉。
3.禁用jtag模式:gpio _ pinremapconfig(gpio _ remap _ swj _ JTAG禁用并启用);
4.您可以将这段代码放在gpio初始化中。