20.1MB
1.32MB
STM32是一款专业的图形编程软件,支持Python、blockly、hex等代码的读写。用户可以在没有任何硬件支持的情况下,模拟运行环境、实时操作系统和中间件、开发套件、硬件模拟器和状态机建模工具。
软件功能
1、STM32学习门槛STM32的开发基于C语言,当然也使用了一些简单的汇编(启动文件)语言。我们不需要很懂汇编,熟悉几个简单的指令就可以了。C语言是需要掌握的,因为STM32的开发库使用了大量的结构、指针等知识,所以要学好STM32,学习C语言是首要前提!
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,不要选错。
菜单栏下面有一排图标按钮。单击第二个按钮刻录程序。如果芯片之前刻录过程序,点击第五个按钮擦除程序后才能刻录。
STM32使用swd下载的必要操作
1.一般stm32会用swd下载,因为省pin。2.所以无论是否使用JTAG别针。最好的办法是先禁用jtag,这样可以避免在你操作一个pin的时候发现这个pin一直不能用。
根据设计向上或向下拉。
3.禁用jtag模式:GPIO _ PinremapConfig(GPIO _ remap _ SWJ _ JTAG禁用,启用);
4.您可以将这段代码放在gpio初始化中。