![](https://img-blog.csdnimg.cn/82729b3648e84773a5865d28f010f4b6.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
STM32开发基础
文章平均质量分 95
这是我学习STM32的心得和内容,这个专栏会一直不断不更新的。
KermanXin
在校学生
展开
-
第十五章 TIM高级定时器(下)
代码经编译后没错误后使用KingstVIS逻辑分析仪观察波形,逻辑分析仪的GND引脚接到开发板的GND引脚,开发板的PA8,PB13分别接到逻辑分析仪的CH0,CH1上,也可以使用Keil5软件自带的逻辑分析仪来观察波形,能够观察到两条互补的PWM波,频率为1MHz,占空比为50%。(3) 编写中断服务程序,计算测量的频率和占空比,并打印出来比较编程的要点主要分成两部分,一个是通用定时器的 PWM 信号输出,另一个是 PWM 信号输入捕获。14.6.2.1 设计思路。14.6.2.1 设计思路。原创 2023-04-07 01:15:21 · 710 阅读 · 0 评论 -
第十五章 TIM高级定时器(中)
在标准库函数头文件 stm32f10x_tim.h 中对定时器外设建立了四个初始化结构体,分别为时基初始化结构体 TIM_TimeBaseInitTypeDef、输出比较初始化结构体 TIM_OCInitTypeDef、输入捕获初始化结构体 TIM_ICInitTypeDef 和断路和死区初始化结构体 TIM_BDTRInitTypeDef,高级控制定时器可以用到所有初始化结构体,通用定时器不能使用 TIM_BDTRInitTypeDef 结构体,基本定时器只能使用时基结构体。它决定着定时器通道有效电平。原创 2023-04-05 03:44:09 · 1157 阅读 · 0 评论 -
第十五章 TIM高级定时器(上)
当上升沿的时候 IC1 和IC2 同时捕获,计数器 CNT 清零,到了下降沿的时候, IC2 捕获,此时计数器 CNT 的值被锁存到捕获寄存器 CCR2 中,到了下一个上升沿的时候, IC1 捕获,计数器CNT 的值被锁存到捕获寄存器 CCR1 中。这里我们以 CNT 工作在递增模式为例,在中, ARR=8, CCR=4, CNT 从 0 开始计数,当 CNT原创 2023-04-05 03:20:40 · 649 阅读 · 0 评论 -
第十四章 TIM基本定时器
13.2.1。原创 2023-04-03 18:16:56 · 2135 阅读 · 0 评论 -
第十三章 Kingst VIS逻辑分析仪的使用
13.1.113.2.1软件启动后,将显示类似下图的主界面,软件的详细使用说明请见第四章节,此处仅对软件界面进行简要说明。如上图,软件界面可分为以下几个主要部分:①、工具栏:位于界面上方,包含当前设备的一些常用设置,以及最右端的主菜单按钮;②、 阈值电压:位于界面左上方,可通过下拉框选择或自定义阈值电压值;③、通道设置栏: 位于界面左侧, 是当前启用的测量通道的编号和名称;④、波形显示窗口:位于界面中部,最上一栏是时间轴,中间显示采集到的波形和解析出的数据等,最下一栏是滚动条;原创 2023-04-02 23:33:56 · 8086 阅读 · 0 评论 -
第十二章 SysTick—系统定时器
SysTick是一个ARM Cortex-M架构中的系统定时器,用于提供基础的操作系统时钟服务。它使用一个24位的计数器来测量时间间隔,并在计数器达到零时生成中断。SysTick可以配置为不同的时钟源和计数器值,以满足各种应用需求。它通常与其他外部时钟源结合使用,以提供精确的周期性中断服务和实现各种定时和延迟功能。在嵌入式系统和实时操作系统中,SysTick被广泛用于任务调度、时间管理、节拍控制等方面。它也常用于测试和调试,例如在代码执行过程中插入断点或记录时间戳。原创 2023-04-02 02:47:37 · 2583 阅读 · 0 评论 -
第十一章 STM32中断应用
STM32 中断非常强大,每个外设都可以产生中断。在STM32微控制器中,中断是一种重要的机制,允许处理器在执行主程序的同时响应外部事件。中断可以通过硬件或软件触发,并且可以优先于主程序执行。使用中断,可以实现异步事件的处理,提高系统的响应能力和并发性能。在STM32中,中断被广泛用于各种任务,如通信、定时器、ADC、DMA等。了解中断机制对于有效利用STM32的功能和性能至关重要。11.1.1。原创 2023-04-01 13:07:15 · 2857 阅读 · 0 评论 -
第十章 STM32时钟系统
在STM32中,时钟频率、周期、分频系数等关键参数的定义如下:时钟频率(fclk):时钟信号每秒钟的振荡次数,即基础时钟频率。在STM32中,时钟频率通常指系统时钟(SYSCLK)的频率。SYSCLK频率计算方法:其中,fOSC是外部晶体振荡器的频率,PLLM和PLLN是PLL前置分频和反馈分频系数,PLLP是PLL输出分频系数。时钟周期(Tclk):时钟信号一个完整的周期所需要的时间,即1/fclk。时钟周期计算方法:Tclk = 1 / fclk。原创 2023-04-01 02:36:48 · 2047 阅读 · 0 评论 -
第九章 输入设备—按键检测
/按键状态标志位//按键1//按键2在这段程序中对按键所用到的GPIO,对应的PIN脚,以及时钟进行了宏定义,便于代码的移植,除了这些内容代码中还定义了按键检测的状态标志位,bsp_button.c文件中编写的功能函数的声明。9.3.2。原创 2023-04-01 02:16:43 · 748 阅读 · 0 评论 -
第八章 声音输出设备—蜂鸣器
文件中对PC0端口,PIN脚,相关时钟,以及功能函数进行了初始化,并且还定义了控制蜂鸣器状态的标志BUZZER_ON,BUZZER_OFF。8.4.2。原创 2023-04-01 02:02:15 · 1047 阅读 · 0 评论 -
第七章 项目实战一 点亮LED灯
当这个头文件被同一个文件第二次“#include”包含的时候,由于有了第一次包含中的“#define _BSP_LED_H”定义,这时再判断“#ifndef _BSP_LED_H”,判断的结果就是假了,从“#ifndef”至#endif”之间的内容都无效,从而防止了同一个头文件被包含多次,编译时就不会出现“redefine(重复定义)”的错误了。在编写应用程序的过程中,要考虑更改硬件环境的情况,例如 LED 灯的控制引脚与当前的不一样,我们希望程序只需要做最小的修改即可在新的环境正常运行。原创 2023-04-01 02:00:45 · 337 阅读 · 0 评论 -
第六章 STM32标准库
STM32 标准库可以从官网获得,也可以直接从本书的配套资料得到。本书讲解的例程全部采用3.5.0 库文件。以下内容请大家打开 STM32 标准库文件配合阅读。解压库文件后进入其目录:STM32F10x_StdPeriph_Lib_V3.5.0\软件库各文件夹的内容说明见图 ST 标准库。目录: STM32F10x_StdPeriph_Lib_V3.5.0\• Libraries:文件夹下是驱动库的源代码及启动文件,这个非常重要,我们要使用的固件库就在这个文件夹里面。原创 2023-04-01 01:48:53 · 5487 阅读 · 0 评论 -
第五章 初识STM32 GPIO
STM32的GPIO(通用输入/输出)是一种非常重要的外设,可以通过GPIO控制外部电路和设备。STM32的GPIO可以配置为输入或输出模式,支持上拉或下拉电阻、推挽或开漏输出、低速、中速或高速输出等多种属性。在STM32中,GPIO的使用通常需要遵循以下步骤:(1)配置GPIO端口的基本属性:包括端口地址、端口模式、输出类型、输出速度、上下拉电阻等,这些属性可以通过寄存器来设置和修改。(2)配置GPIO引脚的具体属性:比如输入或输出模式、上下拉电阻、输出类型等。原创 2023-04-01 01:40:40 · 1165 阅读 · 0 评论 -
第四章 什么是寄存器
但有一点我们要注意的是, FSMC 只能扩展静态的内存,即名称里面的S: static,不能是动态的内存,比如 SDRAM 就不能扩展。也就是说,我们定义的这个 GPIO_TypeDef ,假如这个结构体的首地址为 0x4001 0C00(这也是第一个成员变量 CRL 的地址),那么结构体中第二个成员变量 CRH 的地址即为 0x4001 0C00 +0x04,加上的这个 0x04,正是代表 CRL 所占用的 4 个字节地址的偏移量,其它成员变量相对于结构体首地址的偏移,在上述代码右侧注释已给。原创 2023-04-01 01:29:13 · 3698 阅读 · 0 评论 -
第二章 STM32开发工具介绍及使用
(5)复制注册程序给出的注册号后,回到 Keil 软件导入注册号弹窗界面,将我们复制的注册号填入弹窗的【New License ID Code (LIC)】选项框中(如图2-18所示)并点击【Add LIC】按钮,完成后就可以看到如图2-19所示的MDK-Lite部分显示Expires:Dec 2032,及完成了软件的注册,此时就能正常使用Keil开发STM32了。总之,Keil软件作为一款嵌入式开发工具,具有代码编辑、编译、调试、烧录、仿真、代码分析等多种功能,可以帮助开发人员提高开发效率和代码质量。原创 2023-04-01 00:59:58 · 2695 阅读 · 2 评论 -
第一章 初识STM32
STM32 是意法半导体(STMicroelectronics)公司推出的一款 32 位 ARM Cortex-M 微控制器。它具有高性能、低功耗、丰富的外设和广泛的应用,适用于工业自动化、机器人控制、智能家居、医疗设备、汽车电子等领域。STM32F103ET6是一款由意法半导体(STMicroelectronics)生产的微控制器,属于STM32F1系列。它是一款高性能、低功耗、易于集成的微控制器,可广泛应用于工业控制、智能家居、医疗设备、消费电子等领域。原创 2023-04-01 00:42:16 · 6340 阅读 · 1 评论