STM32实验
文章平均质量分 63
单片机学习之路
日常学习随笔
展开
-
【STM32F103实验(八)】输入捕获
一、目的在正点原子精英版上,采用TIM5的通道1(PA0)作为输入捕获,捕获PA0上高电平的脉宽(用WK_UP)按键输入高电平,通过串口打印高电平脉宽时间。二、输入捕获简介输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。STM32的输入捕获,简单的说就是通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成原创 2022-04-17 10:49:38 · 2088 阅读 · 0 评论 -
【STM32F103实验(七)】PWM输出
一、目的在正点原子精英版上使用通用定时器TIM3产生PWM控制DS0的亮度。二、分析脉冲宽度调制(PWM),简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。本实验中利用TIM3的CH2输出来控制DS0的亮度,TIM3_CH2默认接在PA7上,而DS0接在PB5上,所以需要通过重映射功能将TIM3_CH2映射到PB5上。三、程序设计PWM设置初始化步骤:(1)开启TIM3时钟以及复用功能时钟。(2)配置GPIOB.5为复用推挽输出。(3)设置TIM_CH2重原创 2022-04-15 18:47:30 · 2394 阅读 · 0 评论 -
【STM32F103实验(六)】定时器中断
一、实验目的在正点原子精英版上采用通用定时器3中断控制DS1每隔500ms的亮灭闪烁。二、寄存器介绍(寄存器此处只对其功能进行介绍,寄存器具体结构请自行参考《STM32中文参考手册》)本次实验主要涉及3个寄存器即控制寄存器1(TIMx_CR1)、DMA/中断使能寄存器(TIMx_DIER)和预分频寄存器(TIMx_PSC),同时还涉及了计数器寄存器(TIMx_CNT)、自动重装载寄存器(TIMx_ARR)和状态寄存器(TIMx_SR)。控制寄存器1(TIMx_CR1)主要目的是使能计数器和设置计数原创 2022-04-15 15:49:15 · 1849 阅读 · 0 评论 -
STM32通用定时器(一)
一、STM32三种定时器区别STM32F10X系列总共最多有8个定时器,分别是2个高级定时器,4个通用定时器,2个基本定时器。如下图是这三类定时器的区别。定时器类别 位数 计数器模式 产生DMA请求 捕获/比较通道 互补输出 特殊应用场景 高级定时器(TIM1,TIM8) 16 向上,向下,向上/下 可以 4 有 带死区控制盒紧急刹车,可用于PWM电机控制 通用定时器(TIM2~TIM5) 16 向上,向下,原创 2022-04-14 22:26:25 · 4227 阅读 · 0 评论 -
STM32端口复用和重映射
一、端口复用STM32有很多内置外设,这些外设的外部引脚都是与GPIO复用的。一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。复用端口初始化步骤:(1)GPIO端口时钟使能。//GPIOA端口时钟使能RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);(2)复用的外设时钟使能。//串口1时钟使能RCC_APB2PeriphClockCmd(RCC_APB2Periph_US原创 2022-04-14 20:27:14 · 2877 阅读 · 0 评论 -
【STM32F103实验(五)】外部中断
一、STM32外部中断介绍STM32的每一个IO口都可以作为外部中断的中断输入口。STM32F103的中断控制器支持19个外部中断/事情请求。每个中断都设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32F103的19个外部中断为:线0~15 对应外部IO口的输入中断 线16 连接到PVD输出 线17 连接到RTC闹钟事件 线18 连接到USB唤醒事件 其中,STM32供IO口使用的中断线只有16个。STM32如何把16个中断线和IO口一一对应起原创 2022-04-14 19:34:53 · 3534 阅读 · 0 评论 -
【STM32F103实验(四)】串口实验
一、目的在正点原子的精英版STM32F1上通过串口1和上位机的对话,STM32F1在收到上位机发过来的字符串后,原原本本的返回给上位机。二、程序设计1. 串口设置一般步骤(1)串口时钟使能,GPIO时钟使能;(2)串口复位;(3)GPIO端口初始化;(4)开启中断并且初始化NVIC;(若要开启中断才需要此步骤)(5)使能串口;(6)编写中断处理函数。void UART_Init_Person(void) { GPIO_InitTypeDef GPIO_In原创 2022-04-12 08:56:10 · 3840 阅读 · 1 评论 -
串行通信简介
一、串行通信与并行通信计算机与外界的数据交换称为通信,通信分为并行通信和串行通信两种基本方式。并行通信串行通信并行通信:并行通信指各个数据位同时进行传送的数据通信方式,因此有多少个数据位,就需要多少根数据线。并行数据的特点是传送速度快、效率高,但成本高,通常只适合30m距离内的数据传送。串行通信:串行通信指各个数据按传送位顺序进行传输,最少只需要两个传输线即可完成。其传输速度慢、效率低,但传输距离远,而且可以使用现有的通信通道(如电话线、各种网络等),在集散控制系统等远距离通信中原创 2022-04-10 16:28:08 · 14750 阅读 · 0 评论 -
STM32—delay和操作系统共用SysTick定时器
1.SysTick定时器SysTick定时器用来产生操作系统需要的滴答中断,作为整个系统的时基。SysTick定时器可以产生周期性中断,用户程序不能随意访问它的寄存器,SysTick定时器是维持操作系统“心跳”的节律。SysTick定时器可以为多个任务许以不同的时间片,确保没有一个任务能够霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务;SysTick定时器还可以为操作系统提供各种定时功能。SysTick定时器由4个寄存器控制。2.SysTick实现延时在SMT32中,利.原创 2022-04-05 09:15:36 · 917 阅读 · 1 评论 -
STM32时钟系统
时钟系统是STM32中一个重要的组成部分,他就是CPU的脉搏,就像人的心跳一样。STM32单片机的时钟不像51单片机只有一个系统时钟,STM32有多个时钟源。STM32为什么要有多个时钟源呢?STM32本身比较复杂,外设非常多,但是并不是所有的外设都需要系统时钟这么高的频率,如看门狗以及RTC只需要十几k的时钟电路即可。同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也会越弱,所有对于较为复杂的MCU一般都是采用多时钟源的方法来解决这些问题。STM32时钟系统图:在STM32中,有五个时钟源,.原创 2022-04-03 22:16:00 · 4849 阅读 · 1 评论 -
【STM32F103实验(三)】按键输入
一、目的在正点原子精英版上实现按键KEY0控制LED0状态的翻转,KEY1控制LED1状态的翻转,WK_UP同时控制LED0和LED1状态的翻转。二、硬件电路分析如下图所示,按键KEY0和KEY1一端连接在单片机PE4、PE3上,另外一端接地;按键WK_UP一端连接在单片机PA0上,另一端连接在3.3V电源上。所以在进行程序编写时,应将PE4、PE3引脚模式设置为上拉,将PA0引脚模式设置为下拉。三、程序设计1.按键端口初始化(1)端口时钟初始化。(2)端口...原创 2022-04-03 14:38:41 · 3241 阅读 · 1 评论 -
【STM32F103实验(二)】蜂鸣器
一、目的在正点原子精英板上实现蜂鸣器每间隔200ms响一次,同时用LED0进行指示(蜂鸣器响同时LED0点亮)。二、硬件电路分析LED0部分电路可以参考以下这篇博文:【STM32F103实验(一)】跑马灯_傻萌的路飞的博客-CSDN博客...原创 2022-04-02 23:13:16 · 7075 阅读 · 1 评论 -
【STM32F103实验(一)】跑马灯
一、目的在STM32F103ZET6上实现LED0、LED1两个灯每间隔1秒同时闪烁。二、硬件电路分析由电路图可知:LED0-PB5,LED1-PE5。三、软件设计本次实验主要是控制GPIOB.5和GPIOE.5输出进而控制LED0和LED1的状态。其核心是对着两个引脚进行配置,配置流程如下:(1)使能端口时钟。(GPIO是挂载在APB2总线上的外设)(2)设置引脚模式。将两个引脚都设置为推挽输出模式(设置为推挽输出模式可以使该引脚输出强高低电平)(3)初始时原创 2022-04-02 14:48:26 · 2842 阅读 · 1 评论