STM32嵌入式
文章平均质量分 78
Michael_chemic
这个作者很懒,什么都没留下…
展开
-
STM32的HAL库知识总结
前者是ST的老库已经停更了,后两者是ST现在主推的开发库。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库,ST新出的芯片已经没有STD库了,比如F7系列。目前,HAL库已经支持STM32全线产品。通过文字描述可以知道HAL库的几个点:1.最大可移植性。转载 2022-11-08 15:04:36 · 2204 阅读 · 0 评论 -
STM32: GPIO(general purpose input output)
STM32 GPIO寄存器每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。输入浮空输入上拉输入下拉模拟输入开漏输出与推挽式输出推挽式复用功能开漏复用功能...原创 2022-05-31 07:47:13 · 152 阅读 · 0 评论 -
STM32:Boot & ISP
Boot启动方式设置自动下载电路上位机控制CH340G的DTS和DTR引脚实现74HCT1G66是一个单极,单投模拟开关,有两个输入/输出端(nY和nZ)和数字使能输入(nE/EN)。当nE值为LOW时,模拟开关关闭。 因为接口输入使用限流电阻成为可能电压超过VCC, 所以输入端有一个箝位二极管。HCT设备的特点是控制输入具有较低的输入阈值水平,允许TTL逻辑水平。74HCT1G66 is a single-pole, single-throw analog switch with t原创 2022-05-30 15:52:57 · 1632 阅读 · 0 评论 -
STM32: IWDG独立看门狗
IWDGSTM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,IWDG号称宠物狗,WWDG号称警犬,独立看门狗用通俗一点的话来解释就是一个 12 位的递减计数器,当计数器的值从某个值一直减到 0 的时候,系统就会产生一个复位信号,即 IWDG_RESET。如果在计数没减到 0 之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作就是我们经常说的喂狗。看门狗功能由 VDD 电压域供电,在停止模式和待机模式下仍能工作.1. 独立看门狗时钟独立看门狗的时钟由独立的 RC 振荡器 L原创 2022-04-30 09:48:35 · 580 阅读 · 0 评论 -
STM32: SysTick系统定时器--滴答定时器
SysTick系统定时器SysTick 是属于 CM3 内核的外设,有关寄存器的定义和部分库函数都在 core_CM3.h 这个头文件中实现。SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。因为 SysTick 是属于 CM3 内核的外设,所以所原创 2022-04-29 21:21:40 · 1773 阅读 · 0 评论 -
STM32的异常响应: EXTI外部中断/事件控制器,NVIC嵌套向量中断控制器
STM32异常响应🎏STM32每个外设都可以产生中断.stm32f10x.h头文件IRQn_Type的结构体中包含了F103系全部异常声明./** * @brief STM32F10x Interrupt Number Definition, according to the selected device * in @ref Library_configuration_section */typedef enum IRQn{/****** Cortex-M3 Proc原创 2022-04-29 20:38:07 · 602 阅读 · 0 评论 -
STM32 HAL库开发: RCC时钟树配置
CubeMX图形化配置时钟树HSE 高速外部时钟信号HSE 是高速的外部时钟信号,可以由有源晶振或者无源晶振提供,高速外部时钟信号(HSE)由以下两种时钟源产生:● HSE外部晶体/陶瓷谐振器● HSE用户外部时钟为了减少时钟输出的失真和缩短启动稳定时间,晶体/陶瓷谐振器和负载电容器必须尽可能地靠近振荡器引脚。负载电容值必须根据所选择的振荡器来调整。频率从 4-16MHZ 不等。当使用有源晶振时,时钟从 OSC_IN 引脚进入,OSC_OUT 引脚悬空,当选用无源晶振时,时钟从OSC原创 2022-04-29 13:21:50 · 2042 阅读 · 0 评论 -
STM32: TIM定时器触发模式与时基发生器
STM 32 各种类型定时器一览表定时器作用● 通用定时器可用于输出比较(时序和延迟生成)、单脉冲模式、输入捕捉(用于测量外部信号频率)、传感器接口(编码器和霍尔传感器)等各种场合。●高级定时器此类定时器的功能最多。除通用功能外,它们还包含一些与电机控制数字能量转换应用相关的功能:三个带死区控制的互补信号以及紧急关断输入。● 单通道或双通道定时器用作通用定时器,通道数有限。● 带互补输出的单通道或双通道定时器与上一类型相同,只是其中一个通道上具有死区发生器。这原创 2022-04-28 21:46:16 · 3092 阅读 · 0 评论 -
STM32 HAL库开发: CMSIS 标准(Cortex MicroController Software Interface Standard)
为了解决不同的芯片厂商生产的Cortex 微控制器软件的兼容性问题,ARM 与芯片厂商建立了CMSIS 标准(Cortex MicroController Software Interface Standard)。所谓CMSIS 标准,实际是新建了一个软件抽象层.STMCube是意法半导体的一项原创举措,旨在通过减少开发工作量、时间和成本来简化开发人员的生活。STM32CubeF1固件封装的发行说明此软件包中提供的 HAL(硬件抽象层)驱动程序支持以下 STM32F100xx STM32F10原创 2022-04-23 12:14:02 · 2120 阅读 · 0 评论 -
STM32 HAL库开发: 存储器和总线架构
系统结构ICodeInstruction指令。我们写好的程序经过编译之后都是一条条指令,存放在FLASH 中,内核要读取这些指令来执行程序就必须通过ICode 总线,它几乎每时每刻都需要被使用,它是专门用来取指的。该总线将Cortex™-M3内核的指令总线与闪存Flash指令接口相连接。指令预取在此总线上完成。DCodeDCode 总线是用来取数的。我们在写程序的时候,常量就是固定不变的,用C 语言中的const 关键字修饰,是放到内部的FLASH当中的,变量是可变的,不管是全局变量还是局部变量都原创 2022-04-22 16:40:38 · 1379 阅读 · 0 评论 -
STM32: 总线矩阵
总线矩阵上图为stm32f4的总线矩阵,其中主控总线有8条,被控总线有7条,主设备和从设备通过各自的总线两两相交连接,图中两条总线相交且为圆圈的地方,表示这两条总线对应的主设备可以访问从设备,如I总线(指令总线),只有跟 M0、M2和M6这三根被控总线交叉的时候才有圆圈,就表示I总线只能跟这三根被控总线通信,这样就可以知道stm32f4的启动有三种分别是FLASH、内部SRAM、外部存储FSMC。 总线矩阵用于主控总线之间的访问仲裁管理,仲裁采用循环调度算法。有了总线矩阵,就可以让主设备和从设备进行并转载 2022-04-22 15:49:46 · 4236 阅读 · 1 评论 -
STM32: HAL库开发概览
STM32命名规则选型手册可去官网查看芯片数据,stm32也有Android的选型app(更方便).不接大屏幕的一般选择Cortex-M3 内核的F1 系列,如果要追求高性能,需要外接RGB 大屏幕的选择Cortex-M4 内核的F4 系列。芯片引脚分类和引脚说明说明电源(VBAT)、(VDD VSS)、(VDDA VSSA)、(VREF+ VREF-) 等,他们表示不同的供电引脚晶振IO主晶振IO,RTC 晶振IO下载IO用于JTAG 下载的IO:JTMS、JTCK原创 2022-04-22 15:23:20 · 1614 阅读 · 0 评论