如果您需要此信息,可以点击此处获取
一个人可以走得快,但一群人可以走得更远!无论您是IT行业的老手还是对IT行业感兴趣的新人
欢迎大家加入我们的圈子(技术交流、学习资源、职场投诉、大公司内部推荐、面试辅导),让我们一起学习、成长!
官方手册提供的该系列单片机引脚默认功能如下图:
5.程序下载
STM32单片机支持3种程序下载方式。根据原理不同可分为ISP串口下载(使用USB-TTL连接PA9、PA10)、SWD下载(使用ST-LINK连接PA13、PA14)、JTAG下载(使用JLINK连接PA13、PA14) )PA14、PA15、PB3、PB4)。
1.ISP下载
ISP的整个过程是In-,即在线系统编程。 STM32微控制器一般可以通过UART1引脚进行编程。烧录时需要根据BOOT0和BOOT1是否接地来实现。 BOOT0和BOOT1可以组合成四种状态。不同位置的含义如下图所示,其中X为无关项。
在使用ISP串口下载之前,需要在单片机上电前用跳线帽将BOOT0短接到1位,BOOT1短接到0位,即系统内存模式,然后就可以通过以下方式下载程序了串行端口。 ISP串口下载完成后,断电。在单片机上电之前,需要使用跳线帽将BOOT0短接到0位置,这是主闪存模式。
由于单片机采用的是TTL电平通信协议,与电脑USB口进行串口通信需要使用串口芯片。常见的有CH340系列(如)、FT232等,下图为例。
下载器GND接单片机GND(接一根即可),下载器3.3V接单片机3.3V(或下载器5V接单片机VIN),下载器RXD接单片机PA9(U1TX)、下载器TXD与单片机PA10(U1RX)相连。
了解接线后就可以尝试编译下载了。有很多下载软件。 ST官方发布了用于程序下载的Flash软件,国内也有一款下载软件。
闪光
2.SWD下载
使用SWD接口下载只需连接3.3V(如果烧写程序的板子自带电源,则3.3V引脚不需要连接)、GND、SWDIO(PA13)、SWCLK( PA14) 和 RST(非必需)。在淘宝上花十几块钱买一个ST-LINK下载器(这个U盘形状的其实不是ST生产的,但是烧了他们的固件就可以用了)。除了烧写程序外,利用SWD接口还可以实现在线仿真(调试)。仿真过程可以监控寄存器等数据,非常适合软件开发(发现问题)。值得注意的是,ST-LINK/V2仅支持自家STM32和STM8的烧录程序,不支持其他公司单片机的烧录程序(即使也配备了-M3内核)。
ST-LINK/V2
3.JTAG下载
JTAG接口需要用到TMS(模式选择)、TCK(时钟)、TDI(数据输入)、TDO(数据输出)、nTRST(复位,可选),分别对应PA13(TMS)、PA14(TCK)、和 PA15 (TDI)、PB3 (TDO)、PB4 (nTRST) 引脚。这些引脚的第一个功能是 JTAG 接口。这就是为什么这些引脚不能像上面提到的那样简单地用作 GPIO。使用JTAG下载时,可以使用J-LINK下载器(正品J-LINK比较贵,国内仿品建议购买V9版本以上),也可以使用原装ST公司或国内仿制ST -LINK/带JTAG接口。 V2(和正点原子推出的一样,但是还是很贵,呜呜呜)。不过JTAG能实现的功能用SWD也能实现。我比较懒,一般不使用这个下载接口。
J-LINK
ST-LINK/V2
如果我们不需要使用JTAG下载,但GPIO资源紧张或者PCB设计时已经使用了第一个功能为JTAG的引脚,那么我们需要关闭JTAG。例如,如果我想将其用作GPIO端口,那么代码层面需要这样实现:
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);//使能PORTA时钟
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);// 关闭JTAG但使能SWD
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;//PA15
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIO
详细关机方法:参见另一博主的《STM32 JTAG调试》
6. 实时传输时间
RTT的全称是Real Time,意思是实时传输。我为什么要向大家介绍这个?上面提到J-LINK、ST-LINK等可以下载程序,也可以在线仿真。那么问题来了,它们直接支持串口通信吗?答案是否定的! ! !不过不用惊慌,该公司已经推出了共享内存技术来解决这个问题。该功能可以省去外部使用USART进行串口数据测试的需要,非常方便。不过,由于RTT是公司推出的,所以这需要使用J-LINK V8版本及以上的调试器。如果不缺钱的话可以优先考虑J-LINK。 RTT支持所有配备ARM-M0/M0+/M1/M3/M4/M7/M23/M33内核的MCU,不限于STM32。
官方网站
但是,要使用RTT功能,您需要将提供的源代码添加到项目文件中。官网安装包:“data-link-title="">**,**详细安装和使用教程请参见“硬汉分享的资料”。
导入源代码后,您可以在程序中使用以下功能。根据这些函数的描述很容易知道它们的作用:
函数名称 说明
()
从输入读取数据。
()
将数据写入 .
ng()
将零写入 。
()
写一个到一个。
()
从输入 0 中获取 1。
()
检查 a 是否在输入 0 中。
()
等待 a 进入输入 0 并获取它。
缓冲()
向上 () 。
()
向下(输入)。
()
仅使用 RAM 时 RTT 块。
阿尔()
通过 Write 和 设置“”用于 0。
乌特()
通过“”发送零。
最后,要使用RTT,您需要在计算机上安装J-Link RTT、J-Link RTT和J-Link RTT。您可以选择您喜欢的安装并使用这三个终端。
7.实时操作系统
RTOS(Real-time)是实时操作系统的总称。目前市面上有很多实时操作系统,如RT-、UCOS-III等,在STM32复杂而强大的硬件层面,程序员将不再仅仅使用传统的MCU裸运行时金属程序(裸机是指不使用RTOS的程序),他们开始考虑程序协调和并行多任务(不是真正意义上的并行,因为单个核心一次只能处理一个任务)。 RTOS 是一个有趣的东西。如果大家有兴趣的话,我稍后会考虑更新一篇关于RTOS的文章。目前,您可以访问官方网站或阅读其他作者的文章。
8.官网原文介绍
该系列采用 72 MHz 高速 ARM®-M3 32 位 RISC 内核(闪存最多 128 个,SRAM 最多 20 个),以及一系列 I/O 和两条 APB 总线。所有器件均提供两个 12 位 ADC、三个 16 位加一个 PWM 定时器,以及:最多两个 I2C 和 SPI、三个、一个 USB 和一个 CAN。
电源电压为 2.0 至 3.6 V。它们的温度范围为 –40 至 +85 °C 和 –40 至 +105 °C。一组低功耗功耗模式。
- 线有六种类型:从 36 针到 100 针。在 的 组上,下面给出了其中 的范围。
这些产品线适用于各种应用,例如电机、PC 和 GPS、PLC、警报、视频和 HVAC。
主要特点
ARM®32位®-M3 CPU内核
72 MHz,1.25 DMIPS/MHz (2.1)(0 等待状态周期)
SRAM 的 64 或 128 Flash
时钟、复位和
2.0 至 3.6 V 和 I/OsPOR、PDR 和 (PVD)4 至 16 MHz 8 MHz - 40 kHz RCPLL 用于 CPU kHz 用于 RTC
低功耗
睡眠、停止和 RTC 以及
2 x 12 位、1 µs A/D(最多 16 个)
范围:0 至 3.6 VDual- 并保持 e
DMA
7- DMA:、ADC、SPI、I2C 和
多达 80 个快速 I/O 端口
26/37/51/80 I/O,全部为 16 且全部为 5 V-
调试模式
线路调试 (SWD) 和 JTAG
7
三个 16 位,每个最多 4 个 IC/OC/PWM 或脉冲和 () 位,带死区时间的电机 PWM 定时器和 stop2 (和) 定时器 24 位
最多 9 个
多达 2 个 I2C (SMBus/PMBus) 多达 3 个(ISO 7816、LIN、IrDA、调制解调器) 多达 2 个 SPI (18 Mbit/s)CAN (2.0B)USB 2.0 全速
CRC 单元,96 位 ID
是®
九、文章总结
微控制器采用封装设计。该芯片引出共44个引脚,其中A端口有16个引脚A0-A15,B端口有16个引脚B0-B15,C端口有3个引脚C13-C15。端口 D 有两个引脚 D0-D1。值得注意的是,最小的核心板C14和C15连接的是32.768K晶振,D0和D1连接的是8MHz晶振。一般来说,它们不应该用作IO端口。如果真要使用access2024教程下载,只能去掉外部晶振电路(使用HSI、LSI),通过重新映射和配置寄存器来实现。
其实在学习了STC15系列单片机之后,我一度对STM32单片机产生了恐惧。我认为单片机中已经有很多寄存器了。 STM32里那么多寄存器怎么记住的?现在开始学习了,了解到有官方的固件库供大家调用。按照发布时间可以分为早期固件库(V3.0.0以下)、标准外设库(点我跳转》)、HAL库(点我跳转》转)、LL库( LL库包含在HAL库中),最新的标准库版本是V3.5.0,是调用官方API开发的,是ST在2011年发布的,已经10年没有更新了,可以进行图形化开发。使用HAL,感觉上更加形象,但是由于HAL库是为了解决标准库在不同系列单片机上不通用的问题而设计的access2024教程下载,所以它的代码执行效率没有标准库高。如果编译器优化级别较低,生成的HEX文件会比较大,后来ST推出了LL库来解决这个问题,LL库中的API函数大部分直接调用寄存器网校哪个好,提高了代码的执行效率。然而,通常启动时间越长,我们可以收集到的信息就越丰富。目前正在学习标准库的开发方法,建议大家根据自己的情况进行选择。
更多信息可登陆ST公司中文官网:首页-搜索。
既有适合新手学习的基础教材,也有适合3年以上经验的朋友深入学习和提高的高级课程,涵盖95%以上的物联网嵌入式知识点,真正系统化!
由于文件较多,这里仅截取部分目录。全套包括各大厂商访谈、学习笔记、源码讲义、实战项目、大纲路线、电子书、讲解视频,未来会持续更新。
如果您需要此信息,可以点击此处获取
7zw1-10)]
既有适合新手学习的基础教材,也有适合3年以上经验的朋友深入学习和提高的高级课程,涵盖95%以上的物联网嵌入式知识点,真正系统化!
由于文件较多,这里仅截取部分目录。全套包括各大厂商访谈、学习笔记、源码讲义、实战项目、大纲路线、电子书、讲解视频,未来会持续更新。
如果您需要此信息,可以点击此处获取