STM32
文章平均质量分 80
Hustle_Z
S32DS学习中
展开
-
正点原子STM32F103(精英版)------电容触摸按键
电容触摸按键原理RC充放电电路原理:RC电路充放电公式:Vt = V0+(V1-V0)* [1-exp(-t/RC)]V0 为电容上的初始电压值;V1 为电容最终可充到或放到的电压值;Vt 为t时刻电容上的电压值。如果V0为0,也就是从0V开始充电。那么公式简化为:Vt= V1* [1-exp(-t/RC)]结论:同样的条件下,电容值C跟时间值t成正比关系, 电容越大,充电到达某个临界值的时间越长。电容充电时间与电容大小关系...原创 2021-12-16 22:47:22 · 1794 阅读 · 0 评论 -
正点原子STM32F103(精英版)------输入捕获实验
STM32 输入捕获工作过程(通道1为例)一句话总结工作过程:通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。步骤1:设置输入捕获滤波器(通道1为例)步骤2:设置输入捕获极性(通道1为例)步骤三:设置输入捕获映射通道(通道1为例)步骤四:设置输入捕获分频器(通道1为例)步骤五:捕获到有效信号可以开启中断最...原创 2021-12-16 21:26:12 · 1419 阅读 · 0 评论 -
正点原子STM32F103(精英版)------输入捕获实验
STM32 PWM工作过程STM32 输入捕获工作过程(通道1为例)一句话总结工作过程:通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。步骤1:设置输入捕获滤波器(通道1为例)步骤2:设置输入捕获极性(通道1为例)步骤三:设置输入捕获映射通道(通道1为例)步骤四:设置输入捕获分频器(通道1为例)步骤...原创 2021-12-16 20:09:06 · 1237 阅读 · 0 评论 -
正点原子STM32F103(精英版)------PWM输出实验
STM32 PWM工作过程STM32 PWM工作过程STM32 PWM工作过程(通道1为例)CCR1:捕获比较(值)寄存器(x=1,2,3,4):设置比较值。CCMR1: OC1M[2:0]位: 对于PWM方式下,用于设置PWM模式1【110】或者PWM模式2【111】CCER:CC1P位:输入/捕获1输出极性。0:高电平有效,1:低电平有效。CCER:CC1E位:输入/捕获1输出使能。0:关闭,1:打开。PWM模式1 &...原创 2021-12-06 22:12:27 · 3295 阅读 · 2 评论 -
正点原子STM32F103(精英版)------通用定时器实验
三种STM32定时器区别 定时器种类 位数 计数器模式 产生DMA请求 捕获/比较通道 互补输出 特殊应用场景 高级定时器 (TIM1,TIM8) 16 向上,向下,向上/下 可以 4 有 带死区控制盒紧急刹车原创 2021-12-05 16:39:42 · 1065 阅读 · 0 评论 -
正点原子STM32F103(精英版)------独立看门狗
一、独立看门狗概述为什么要看门狗?在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。看门狗解决什么问题?在启动正常运行的时候,系统不能复位。在系统跑飞(程序异常执行)的情况,系统复位,.原创 2021-12-01 21:13:51 · 1434 阅读 · 0 评论 -
正点原子STM32F103(精英版)------外部中断(EXTI)
STM32第四章-外部中断管理 - 知乎 (zhihu.com)GPIOx.0映射到EXTI0GPIOx.1映射到EXTI1…GPIOx.15映射到EXTI15外部中断常用库函数①void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource); //设置IO口与中断线的映射关系 exp: GPIO_EXTILineConfig(GPIO_PortSourceGPI...原创 2021-11-29 22:48:18 · 4050 阅读 · 0 评论 -
正点原子STM32F103(精英版)------串口通信
一、串口相关寄存器1、USART_SR状态寄存器FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);2、USART_DR数据寄存器void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);uint16_t USART_ReceiveData(USART_TypeDef* USARTx);3、USART_BRR波特率寄.原创 2021-11-28 20:33:44 · 945 阅读 · 0 评论 -
正点原子STM32F103(精英版)------Systick定时器、delay延时(野火)
(程序未实现功能,不太懂为什么)bsp_sysytick.c#include "bsp_systick.h"#if 0static __INLINE uint32_t SysTick_Config(uint32_t ticks){ //判断tick的值是否大于2^24,如果大于,则不符合规则 if (ticks > SysTick_LOAD_RELOAD_Msk) return (1); //初始化reload寄存器的值 S原创 2021-11-25 22:37:25 · 1162 阅读 · 0 评论 -
正点原子STM32F103(精英版)------EXTI
移植野火代码到正点上(没有报错,但是实验未成功,求解)一、EXIT简介(外部中断/事件控制器)二、EXTI初始化结构体EXTI_InitTypeDef1-EXTI_Line:用于产生中断/事件 线2-EXTI_Mode:EXTI模式(中断/事件)3-EXTI_Trigger:触发(上/下/上下)4-EXTI_LineCmd:使能或者失能(IMR/EMR)三、实验 (编程要点)1.初始化要连接到EXTI的GPIO2.初始化EXTI用于产生中断/事件...原创 2021-11-24 21:23:07 · 1091 阅读 · 2 评论 -
正点原子STM32F103(精英版)------串行通信
处理器与外部设备通信的两种方式:并行通信传输原理:数据各个位同时传输优点:速度快缺点:占用引脚资源多串行通信传输原理:数据按位顺序传输优点:占用引脚资源少缺点:速度相对较慢2.串行通信按照数据传送方向,分为:单工:数据传输只支持数据在一个方向上传输半双工:允许数据在两个方向上传输,但是,在某一适合,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信全双工:允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收原创 2021-11-20 22:53:04 · 5947 阅读 · 0 评论 -
正点原子STM32F103(精英版)------NVIC中断优先级
一、NVIC中断优先级分组1、CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。2、STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。3、STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。4、STM32F103系列上面,又只有60个可屏蔽中断(在107系列才有68个)中断管理方法首先,对STM32中断进行分组,组0-4。同时,对每个中断设置一个抢占优先级和一个响应优先级值。原创 2021-11-20 21:45:23 · 1048 阅读 · 0 评论 -
正点原子STM32F103(精英版)------端口复用和重映射
一、端口复用STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。例如串口1的发送接收引脚是PA9、PA10,当我们把PA9、PA10不用做GPIO,而用作复用功能串口1的发送接收引脚的时候,叫端口复用。1、端口复用配置过程(以PA9、PA10配置为串口1为例)GPIO端口时钟使能RCC_APB2PeriphClockCmd(RCC_A...原创 2021-11-20 20:04:14 · 5141 阅读 · 0 评论 -
正点原子STM32F103(精英版)------SystemInit时钟、Systick定时器、delay延时函数
参考STM32F1开发指南(精英版)库函数版---第五章一、SystemInit时钟初始化函数 使用V3.5版本的库函数,该函数在系统启动之后会自动调用: startup_stm32f10x_xx.s文件中: ; Reset handler Reset_Handler PROC EXPORT Reset_Handler [WEAK] ...原创 2021-11-20 16:50:06 · 1802 阅读 · 0 评论 -
正点原子STM32F103(精英版)------STM32时钟系统
一、时钟系统知识1.STM32有5个时钟源 : HSL、HSE、LSI、LSE、PLL①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz--16MHz。③、LSI是低速内部时钟,RC振荡器,频率为40Hz,提供低功耗时钟。WDG④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。主要提供一个精确的时钟源,一般作为RTC时钟使用。⑤、PLL为锁相环倍频输出,其时钟输...原创 2021-11-20 11:22:49 · 2793 阅读 · 0 评论 -
正点原子STM32F103(精英版)------C语言+地址映射
建议每个知识点不懂的话,可以查找其他详细资料(大佬们写的真好)一、位操作 运算符 含义 运算符 含义 & 按位与 ~ 取反 | 按位或 << 左移 ^ 按位异或 >&g原创 2021-11-18 22:39:15 · 977 阅读 · 0 评论 -
正点原子STM32F103(精英版)------按键输入
配合正点原子视频(工程新建与路径加入省略)按键输入硬件连接:【KEY0 和 KEY1 是低电平有效的,而 KEY_UP 是高电平有效的】1)读取IO口输入电平调用库函数为:uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);2)读取IO口输入电平操作寄存器为: GPIOx_IDR:端口输入寄存器3)使用位带操作读取IO口输入电平: PEin(4) -读...原创 2021-11-17 22:47:48 · 3258 阅读 · 0 评论 -
正点原子STM32F103(精英版)------蜂鸣器
配合正点原子视频(工程新建与路径加入省略)蜂鸣器硬件连接:图中我们用到一个NPN 三极管( S8050 )来驱动蜂鸣器 R33 主要用于防止蜂鸣器的误发声。当 PB.8 输出 高电平的时候,蜂鸣器将发声, 当 PB.8 输出低电平的时候,蜂鸣器停止发声。一.库函数版本1.蜂鸣器实验步骤使能IO口时钟。调用函数RCC_APB2PeriphColckCmd(); 不同的IO组,调用的时钟使能函数不一样。初始化IO口模式。调用函数BEEP_Init();操作IO...原创 2021-11-14 22:10:18 · 5692 阅读 · 3 评论 -
正点原子STM32F103(精英版)------跑马灯
配合正点原子视频(工程新建与路径加入省略)跑马灯硬件连接:GPIO输出方式: 推挽输出 CRL寄存器 0X3 表示推挽输出模式(做输出口用,50M 速率)一.库函数版本1) 使能 IO 口时钟。调用函数为 RCC_APB2PeriphColckCmd();2) 初始化 IO 参数。调用函数GPIO_Init();3) 操作 IO。...原创 2021-11-14 17:54:29 · 2526 阅读 · 3 评论