江协科技/江科大-STM32入门教程-1.STM32简介、系统介绍、软件安装
时间:2024-05-01 14:10:38 来源:网络cs 作者:晨起 栏目:卖家故事 阅读:
ahb(先进高性能总线)系统总线用于挂载主要的外设(挂载最基本或者性能比较高的外设,比如复位和时钟控制这些基本的电路)sdio也是挂载在ahb上的。两个桥接,接到了apb1(先进外设总线)和apb2两个外设总线上(用来连接一般的外设)ahb和apb的总线协议、总线速度还有数据传输格式的差异,所以中间需要加两个桥接来完成数据的转换和缓存ahb的整体性能比apb高一些,APB2的性能比APB1高一些。APB2一般和AHB同频率都是72MHz,APB1一般是36MHz,所以APB2连接的一般是外设中稍微重要的部分(例如GPIO端口,还有一些外设的一号选手比如USART1、SPI1、TIM1、TIM8(高级定时器)、ADC、EXTI、AFIO),Apb1连接次要一点的外设2、3、4号外设还有DAC\PWR\BKP等。
DMA是CPU的小秘书,比如一些大量的数据搬运这样简单且重复干的事情,让cpu来干会浪费时间。DMA通过DMA总线连接到总线矩阵上,可以拥有和cpu一样的总线控制权,用于访问外设小弟,当需要DMA搬运数据时,外设就会通过请求线发送DMA请求,然后DMA就会获的总线控制权,访问并转运数据,整个过程不需要cpu的参与
STM32F103C8T6引脚定义
拿到一个芯片时,需要着重的看一下它的引脚定义让STM32正常工作,首先将电源部分和最小系统部分的电路连接好(也就是这个表中红色和蓝色的部分)红色为电源相关引脚,蓝色为最小系统相关引脚,绿色为IO口、功能口S代表电源、I代表输入、O代表输出,IO代表输入输出IO口电平代表IO口所能容忍的电压,FT代表容忍5V的电压,没有FT的智能容忍 3.3V电压(如果没有FT,需要接5V的电平,需要加装电平转换电路)主功能就是上电后默认的功能,一般和引脚名称相同。如果不同的话引脚的实际功能是主功能而不是引脚名称的功能默认复用功能是,IO口上同时连接的外设功能引脚,配置IO口时可以选择是通用IO口还是复用功能重定义功能,作用是如果有两个功能同时复用在了一个IO口上,而且确实需要用到这两个功能,可以将其中一个复用功能重映射到其他端口上(前提是,这个重定义功能的表里有对应的端口)
优先使用加粗的IO口,没有加粗的IO口可能需要进行配置或者兼具其他功能。1引脚VBAT是备用电池供电引脚,可接3v电池,当系统电源断电时,备用电池可给内部的RTC时钟和备份寄存器提供电源2引脚是IO口或侵入检测或RTC,IO口可以根据程序输出或读取高低电平。侵入检测可以用来做安全保障的功能(比如你的产品安全性比较高,可以在外壳加一些防拆的触电,然后接上电路到这个引脚上,若有人强行拆开设备,则触电断开,这个引脚的电平变化就会触发STM32的侵入信号,然后就会清空数据来保证安全)。RTC的引脚可以用来输出RTC校准时钟、RTC闹钟脉冲或者秒脉冲3、4引脚是IO口或者接32.768KHz的RTC晶振5、6号引脚接系统的主晶振,一般是8MHz,然后芯片内有锁相环电路,可以对这个8MHz的频率进行倍频,最终产生72Mhz的频率作为系统的主时钟7引脚NRST是系统复位引脚,N代表是低电平复位8、9引脚是内部模拟部分的电源,比如ADC、RC振荡器等。vss是负极,接GND,VDD是正级,接3.3V10-19号引脚都是IO口,其中PA0还兼具了WKUP功能(可以用于唤醒处于待机模式的STM32)20号引脚是IO口或BOOT1引脚,BOOT引脚是用来配置启动模式的21、22引脚是IO口23、24引脚是VSS_1和VDD_1是系统的主电源口,同样的VSS是负极,VDD是正级下面的VSS_2和VDD_2以及VSS_3和VDD_3都是系统的主电源口,这里STM32内部采用分区供电的方式,所以供电口比较多,在使用时,把VSS都接GND,VDD都接3.3V即可25-33引脚都是IO口34-40引脚再加27号引脚,都是IO口或者调试端口,默认功能是调试端口(用来调试程序和下载数据),这个STM32支持SWD(需要两根线,分别是SWDIO和SEDLK)和JTAG(需要五根线,分别是JTMS、JTCK、JTDL、JTDO、NJTRST)两种调试方式。STLINK调试程序用的是SWD方式(只需占用PA13和PA14这两个IO口,剩下的PA15、PB3、PB4可以切换为普通的IO口使用(需在程序中配置,不配置的话默认是不会用作IO口的)41、42、43、45、46引脚都是IO口44引脚BOOT0和BOOT1一样用来做启动配置
启动配置
启动配置的作用是指定程序开始运行的位置。一般情况下,程序都是在FLASH(主闪存存储器)程序存储器开始执行接1就是接到3.3V电源正的意思系统存储器这个模式就是用来做串口下载的,这个系统存储器存的就是STM32中的一段BootLoader程序(BootLoader程序作用就是接受串口的数据,然后刷新到主闪存中,这样就可以使用串口下载程序)。一般,需要串口下载程序时(当没有调试接口时,这时需要用到串口的方式下载程序)需要配置到系统存储器启动模式内置SRAM模式,主要用来进行程序的调试BOOT引脚的值是在上电复位后的一瞬间有效的,之后就随便了。例如20引脚在上电瞬间是BOOT1的功能,当第四个时钟过之后就是PB2的功能了最小系统电路
一般来说,单片机只有一个芯片是无法正常工作的,需要连接最基本的电路(最小系统电路)供电部分,VSS都连接了GND,VDD都连接了3.3V。在这个3.3v和GND之间,一般会连接一个滤波电容(这个电容可以保证电压的稳定)一般只要遇到供电,都会习惯上加上几个滤波电容VBAT是接备用电池的。可以选择一个3v的纽扣电池,正极接VBAT,负极接GND。备用电池是给RTC和备份寄存器服务的
晶振部分,接一个8MHz的主时钟晶振(8MHz经过内部锁相环倍频,得到72Mhz的主频)这个晶振的两根引脚分别通过两个网络标号接到STM32的5、6号引脚还需接两个20pf的电容,作为启震电容,电容的另一端接地即可若需RTC功能还需再接一个32.768KHz的晶振,电路和这个一样,接在3、4号引脚,OSC32就是32.768KHz晶振的意思。(因为32.768是2的15次方,内部RTC经过2的15次方分频就可以生成1秒的时间信号)
复位电路部分,是一个10k的电阻和0.1uf的电容组成,用来给单片机提供复位信号,NRST接在STM32的7号引脚上电瞬间的波形是先低电平,然后逐渐高电平。NRST是低电平复位的(当复位电路上电的瞬间,电容是没有电的),电源通过电阻开始向电容充电,并且此时电容呈现的是短路状态(NRST引脚就会产生低电平)。当电容逐渐充满电时,电容就相当于断路,此时NRST就会被R1上拉为高电平。(低电平提供STM32的上电复位信号)按键,提供一个手动复位的功能,当按下按键,电容放电,并且NRST引脚也通过按键直接接地了,这就相当于手动产生了低电平复位信号,按键松手后,NRST又回归高电平,此时单片机从复位状态转为工作状态。复位,程序就从头开始运行。
启动配置部分,H1相当于开关的作用(拨码开关/插跳线帽),拨动开关就可以让BOOT引脚选择接3.3v还是GND了
下载端口部分,若使用STLINK下载程序,需将SWDIO 和SWDLK这两个引脚引出来方便接线,另外将3.3v和GND引出来
稳压芯片,用于给5v降到3.3v,如下:
引脚的排针,这两个排针把芯片的引脚都引出来,方便接线 ,如下
四个STM32供电的滤波电容,如下
usb接口,pa11和pa12是usb引脚可以进行usb通信,如下
晶振电路,上面是32.768khz的晶振,接到了pc14和pc15(osc32的两个引脚),下面是8mhz的主时钟晶振,接的是STM32的osc这两个引脚,多路一个1m的电阻,如下
STM32F103C8T6实物正面介绍
红色圈为,STM32F103C8T6芯片,如下
两个跳线帽,用来配置BOOT引脚的,如下
复位按键,如下
usb接口,可以usb通信也可以为板子供电,如下
如下,金属为8MHz的主时钟晶振,黑色为32.768KHz的RTC晶振
两个led,上面是pwr电源指示灯,下面是接在pc13口的测试灯 ,如下
SWD的调试接口,用来下载程序,如下
上下两排是用来接线的排针 ,如下
STM32F103C8T6实物背面介绍
红色圈为3.3v稳压芯片,如下
剩下的大红圈就是电容电阻这些小元件,如下
软件安装
这里简略过去啦,网上很多的流程,安装配置好如下五个方面就行了。
本文链接:https://www.kjpai.cn/gushi/2024-05-01/164025.html,文章来源:网络cs,作者:晨起,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!