![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32F103
m0_46278925
这个作者很懒,什么都没留下…
展开
-
MPU6050寄存器介绍
MPU6050寄存器介绍电源管理寄存器1(0X6B)陀螺仪配置寄存器(0X1B)加速度传感器配置寄存器(0X1C)FIFO使能寄存器(0X23)陀螺仪采样率分频寄存器(0X19)配置寄存器(0X1A)电源管理寄存器2(0X6C)加速度传感器数据输出寄存器(0X3B~0X40)陀螺仪数据输出寄存器(0X43~0X48)温度传感器数据输出寄存器(0X41~0X42)...原创 2020-12-03 20:53:47 · 7716 阅读 · 0 评论 -
MPU6050简介
MPU6050简介什么是MPU6050MPU6050的特点MPU6050框图MPU6050初始化MPU6050—DMP使用介绍MPU6050—DMP使用DMP驱动库驱动代码硬件连接原创 2020-12-03 20:50:46 · 940 阅读 · 0 评论 -
了解STM32DAC基本原理
了解STM32DAC基本原理简介特点DAC转换 原理DAC引脚说明转换时间数据格式触发方式计算公式DAC的输出缓存简介只有大容量的STM32F10x才具有DAC功能特点① 2个DAC转换器:每个转换器对应1个输出通道② 8位或者12位单调输出③ 12位模式下数据左对齐或者右对齐④ 同步更新功能⑤ 噪声波形生成⑥ 三角波形生成⑦ 双DAC通道同时或者分别转换⑧ 每个通道都有DMA功能DAC转换 原理1、VDDA和VSSA为DAC模块模拟部分的供电。2、Vref+则是DAC模块的参原创 2020-08-01 18:44:32 · 514 阅读 · 0 评论 -
STM32的光敏传感器
STM32的光敏传感器简介硬件连接计算公式程序简介1、照射光敏二极管的光强不同,通过光敏二极管的电流大小就不同,所以可以通过检测电流大小,达到检测光强的目的。利用这个电流变化,我们串接一个电阻,就可以转换成电压的变化,从而通过ADC读取电压值,判断外部光线的强弱。2、因为与温度传感器使用方法相同,所以使用起来也是类似的硬件连接这是原子哥开发板里面光敏传感器的硬件原理图计算公式这里没有固定的计算公式,但可以以1~100来表示光的强度大小,在程序有写到程序在下面这个文件可以找到相关的库函数原创 2020-08-01 17:16:37 · 8455 阅读 · 1 评论 -
STM32的内部温度传感器
STM32的内部温度传感器简介ADC通道和引脚对应关系计算公式开启内部温度传感器步骤程序简介1、STM32有一个内部的温度传感器,可以用来测量CPU及周围的温度(TA)。2、该温度传感器在内部和ADCx_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值。3、温度传感器模拟输入推荐采样时间是17.1μs。4、STM32的内部温度传感器支持的温度范围为:-40~125度。精度比较差,为±1.5℃左右。5、内部温度传感器更适合于检测温度的变化,而不是测量绝对温度。如果需要测量绝度温度,应该原创 2020-08-01 17:00:19 · 5085 阅读 · 2 评论 -
STM32的ADC简单应用
STM32的ADC的简单使用ADC的相关寄存器规则序列寄存器注入系列寄存器规则通道数据寄存器注入通道数据寄存器状态寄存器ADC的相关库函数简单实验配置流程代码ADC的相关寄存器规则序列寄存器注入系列寄存器规则通道数据寄存器注入通道数据寄存器状态寄存器ADC的相关库函数简单实验配置流程代码...原创 2020-07-30 11:44:30 · 564 阅读 · 0 评论 -
了解STM32的ADC基本原理
STM32的ADC基本原理ADC的特点芯片带3个ADC控制器ADc通道个引脚对应关系ADC工作原理ADC的通道组ADC的转换模式单次转换连续转换扫描转换ADC中断ADC的时钟配置ADC的 采样时间ADC的特点芯片带3个ADC控制器ADc通道个引脚对应关系ADC工作原理ADC的通道组规则通道组:相当正常运行的程序。最多16个通道。① 规则通道和它的转换顺序在ADC_SQRx寄存器中选择,规则组转换的总数应写入ADC_SQR1寄存器的L[3:0]中② 注入通道组:相当于中断。最多4个原创 2020-07-29 21:38:01 · 998 阅读 · 0 评论 -
STM32的待机唤醒—低功耗
STM32的待机唤醒—低功耗3种低功耗模式待机模式相关寄存器待机唤醒配置步骤代码3种低功耗模式待机模式待机模式理想状态下,只需要2uA电流。停机模式下典型电流为20uA。相关寄存器PWR_CR电源控制寄存器PWR_CSR电源控制/状态寄存器待机唤醒配置步骤在下面这个文件可以找到待机的相关函数代码主程序子程序...原创 2020-07-28 16:33:57 · 661 阅读 · 0 评论 -
STM32的备份区域——实时时钟
STM32的备份区域——实时时钟简介BKP备份寄存器RTC特征RTC工作原理RTC时钟源RTC相关寄存器RTC控制寄存器(RTC_CRH/RTC_CRL)RTC预分频装载寄存器(RTC_PRLH/RTC_PRLL)RTC预分频余数寄存器(RTC_DIVH/RTC_DIVL)RTC计数寄存器(RTC_CNTH/RTC_CNTL)RTC闹钟寄存器(RTC_ALRH/RTC_ALRL)RTC相关库函数RTC配置一般步骤代码改参数配置简介1、RTC是个独立的定时器,RTC模块拥有一个连续计数的计数器。2、RT原创 2020-07-27 16:41:05 · 1107 阅读 · 0 评论 -
STM32的电容触摸按键实验
STM32的电容触摸按键实验简介RC充放电电路原理电容触摸按键原理检测电容触摸按键过程硬件连接程序的几个重要函数程序简介这个实验参考的是原子哥的电容触摸按键实验,用到的是芯片内部之外的外设,使用的原理是RC的充放电。RC充放电电路原理1、RC电路充放电公式:Vt=V0+(V1−V0)∗(1−e−t/RC)Vt = V0+(V1-V0)* (1-e^{-t/RC})Vt=V0+(V1−V0)∗(1−e−t/RC)V0 为电容上的初始电压值;V1 为电容最终可充到或放到的电压值;Vt 为t时原创 2020-07-25 17:09:04 · 1013 阅读 · 0 评论 -
STM32通用定时器的输入捕获
STM32通用定时器的输入捕获简介工作过程(通道1为例)步骤一:设置输入捕获滤波器步骤二:设置输入捕获极性步骤三:设置输入捕获映射通道步骤四:设置输入捕获分频器步骤五:捕获到有效信号可以开启中断定时器通道对应引脚(TIM5为例)输入捕获的库函数程序简介工作过程(通道1为例)步骤一:设置输入捕获滤波器作用:滤波作用步骤二:设置输入捕获极性步骤三:设置输入捕获映射通道步骤四:设置输入捕获分频器步骤五:捕获到有效信号可以开启中断定时器通道对应引脚(TIM5为例)输入捕获的库函数原创 2020-07-25 00:07:12 · 523 阅读 · 1 评论 -
STM32通用定时器的输出比较
STM32通用定时器的输出比较简介PWM工作过程PWM模式与输出极性分析PWM输出库函数PWM输出配置步骤代码简介PWM工作过程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模式与输出极性分析PWM模式1:当原创 2020-07-24 11:10:57 · 1362 阅读 · 0 评论 -
STM32通用定时器相关寄存器
STM32通用定时器相关寄存器计数器当前值寄存器CNT预分频寄存器TIMx_PSC自动重装载寄存器(TIMx_ARR)控制寄存器1(TIMx_CR1)DMA中断使能寄存器(TIMx_DIER)计数器当前值寄存器CNT预分频寄存器TIMx_PSC自动重装载寄存器(TIMx_ARR)控制寄存器1(TIMx_CR1)DMA中断使能寄存器(TIMx_DIER)...原创 2020-07-23 16:44:04 · 2814 阅读 · 0 评论 -
STM32通用定时器的中断
STM32通用定时器的中断简介时钟选择内部时钟选择时钟计算方法常用官方库函数定时器中断实现步骤库函数位置代码简介时钟选择内部时钟选择在上图中,若选择内部时钟时钟计算方法常用官方库函数定时器中断实现步骤库函数位置定时器相关中断库函数在timer文件下有;而中断通道号或者中断服务函数在另外两个文件中;通道号可以搜索:TIM3_IRQn中断服务可以搜索:TIM3_IRQHandler代码主函数:子函数:...原创 2020-07-23 16:35:20 · 217 阅读 · 0 评论 -
STM32通用定时器基本概述
STM32通用定时器基本概述STM32F10x系列的定时器分类STM32F10x系列的定时器数量通用定时器功能特点描述计数模式工作原理STM32F10x系列的定时器分类STM32F10x系列的定时器数量STM32F10x系列总共最多有8个定时器,像STM32F10x系列有:4个通用定时器2个高级定时器2个基本定时器通用定时器功能特点描述STM3 的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)定时器功能特点包括:计数模式工作原理...原创 2020-07-23 16:06:36 · 434 阅读 · 0 评论 -
STM32窗口看门狗相关寄存器
STM32窗口看门狗相关寄存器控制寄存器WWDG_CR配置寄存器WWDG_CFR状态寄存器WWDG_SR控制寄存器WWDG_CRvoid WWDG_Enable(uint8_t Counter);//启动并设置初始值void WWDG_SetCounter(uint8_t Counter);//喂狗配置寄存器WWDG_CFRvoid WWDG_EnableIT(void);//使能提前唤醒中断void WWDG_SetPrescaler(uint32_t WWDG_Prescaler);v原创 2020-07-21 19:27:59 · 521 阅读 · 0 评论 -
STM32窗口看门狗官方库函数的使用
STM32窗口看门狗官方库函数的使用WWDG窗口看门狗操作库函数窗口看门狗操作步骤程序WWDG窗口看门狗操作库函数窗口看门狗的操作库函数在此文件下窗口看门狗操作步骤程序主程序wwdg子程序...原创 2020-07-21 19:23:09 · 331 阅读 · 1 评论 -
STM32的窗口看门狗概述
STM32的窗口看门狗概述什么是窗口看门狗窗口看门狗工作原理窗口看门狗的中断窗口看门狗的溢出时间计算为什么要窗口看门狗,独立看门狗不好吗什么是窗口看门狗1、之所以称为窗口就是因为其喂狗时间是一个有上下限的范围内(窗口),你可以通过设定相关寄存器,设定其上限时间(下限固定)。喂狗的时间不能过早也不能过晚。2、而独立看门狗限制喂狗时间在0-x内,x由相关寄存器决定。喂狗的时间不能过晚。窗口看门狗工作原理STM32F的窗口看门狗中有一个7位的递减计数器,它会在出现下述2种情况之一时产生看门狗复位:①、原创 2020-07-21 19:01:54 · 264 阅读 · 0 评论 -
STM32独立看门狗相关寄存器
STM32独立看门狗相关寄存器键寄存器IWGD_KR预分频寄存器IWDG_PR重装载寄存器IWDG_RLR状态寄存器IWDG_SR键寄存器IWGD_KR预分频寄存器IWDG_PR重装载寄存器IWDG_RLR状态寄存器IWDG_SR原创 2020-07-21 18:47:55 · 283 阅读 · 0 评论 -
STM32独立看门狗官方库函数的使用
STM32独立看门狗官方库库函数的使用IWDG独立看门狗操作库函数独立看门狗操作步骤程序IWDG独立看门狗操作库函数独立看门狗的操作库函数在此文件下相关操作库函数独立看门狗操作步骤程序主程序#include "stm32f10x.h"#include "led.h"#include "lwdg.h"#include "key.h"#include "delay.h" int main(void) { led_init(); delay_init(); key_原创 2020-07-21 12:22:11 · 749 阅读 · 0 评论 -
STM32的独立看门狗概述
STM32的独立看门狗概述看门狗是什么看门狗的功能独立看门狗所需的环境独立看门狗工作原理看门狗是什么由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。看门狗的功能①、在启动正常运行的时候,系统不能复位。②、在系统跑飞(程序异常执行)的情况,系统复位,程序重新执行。独立看门狗所需的环境①、独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即原创 2020-07-21 11:56:32 · 246 阅读 · 0 评论 -
STM32外部中断基本使用方法
STM32外部中断基本使用方法主程序EXTI子程序中断服务函数主程序#include "stm32f10x.h"#include "exti.h"#include "delay.h" int main(void) { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); EXTI_init(); delay_init(); while(1); }EXTI子程序#include "stm32f10x.h"#include "key原创 2020-07-20 18:34:00 · 703 阅读 · 0 评论 -
STM32外部中断概述
STM32外部中断概述知识点(1)知识点(2)知识点(3)中断服务函数外部中断常用库函数外部中断的一般配置步骤知识点(1)STM32的每个IO都可以作为外部中断输入。STM32的中断控制器支持19个外部中断/事件请求:线0~15:对应外部IO口的输入中断。线16:连接到PVD输出。线17:连接到RTC闹钟事件。线18:连接到USB唤醒事件。每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位。知识点(2)问题:从上面可以看出,STM32供IO使用原创 2020-07-20 18:27:41 · 553 阅读 · 0 评论 -
了解使用STM32串口中断相关官方库函数
了解使用STM32串口中断相关官方库函数简介完整代码串口初始化、使能串口、开启接收中断初始化NVLC接收、发送函数简介下面两张图红框的内容,在上几篇有总结过,分别是GPIO的和中断的,直接去那里看就行,这一篇主要总结没有被框起来的,总结官方给的库函数的功能作用,还有哪个文件可以找到哪个函数(理清逻辑)完整代码主程序串口中断配置程序串口初始化、使能串口、开启接收中断函数:USART_Init(USART1,&USART_InitStruct); //串口初始化USART_Cmd原创 2020-07-19 22:07:07 · 671 阅读 · 0 评论 -
了解STM32的NVIC中断优先级管理及初始化
了解STM32的NVIC中断优先级管理及初始化简介NVIC总结NVIC中断优先级分组中断优先级设置简介1、CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可程中断设置。2、STM32F103系列上面,又只有60个可屏蔽中断(在107系列才有68个)。NVIC总结那么这几十个中断怎么来管理呢一、中断优先级设置步骤:①系统运行后先设置中断优先级分组。调用函数:void NVIC_PriorityGroupConfig(uint32_t NVIC_Prio原创 2020-07-19 12:36:54 · 2684 阅读 · 0 评论 -
了解STM32的端口复用功能
了解STM32的端口复用功能外设的GPIO配置库函数配置复用IO口代码总结外设的GPIO配置PA9、PA10引脚除了作为普通IO口使用,还可以用做串口1的输入输出使用要使用IO口的复用功能就需要配置该IO口,这里我们拿 Usart1 举例:从表格中可以看出,我们要配置全双工的串口 1,那么 TX 管脚需要配置为推挽复用输出,RX 管脚配置为浮空输入或者带上拉输入。库函数配置复用IO口代码//GPIO 端口时钟使能。RCC_APB2PeriphClockCmd(RCC_APB2Periph原创 2020-07-19 10:49:40 · 1888 阅读 · 0 评论 -
了解STM32的Systick相关官方库函数
STM32的Systick相关官方库函数简介延时初始化函数SysTick_CLKSourceConfig() 时钟源选择函数延时ms函数简介这次对原子哥给的delay函数进行总结,可能总结不是那么完整延时初始化函数1、打开delay.c文件,找到延时初始化函数2、因为这里没有支持OS,所以只执行#endif下的函数3、在SysTick_CLKSourceConfig()选择时钟源4、SystemCoreClock是选择时钟频率SysTick_CLKSourceConfig()原创 2020-07-18 15:26:51 · 1044 阅读 · 0 评论 -
STM32的Systick相关寄存器介绍
STM32的Systick相关寄存器简介状态寄存器-CTRL重装载数值寄存器-LOAD当前值寄存器-VAL简介1、这次总结记录3个与Systick相关的寄存器,分别是CTRL、LOAD、VAL2、Systick定时器,是一个简单的定时器,对于CM3,CM4内核芯片,都有Systick定时器。3、Systick定时器就是系统滴答定时器,一个24 位的倒计数定时器3、Systick定时器常用来做延时,或者实时系统的心跳时钟。4、SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常原创 2020-07-18 15:05:45 · 2428 阅读 · 0 评论 -
了解STM32的时钟系统相关官方库函数
了解STM32的时钟系统相关官方库函数简介系统时钟初始化系统时钟频率配置选择系统时钟的配置主函数不用声明时钟初始化的缘由简介这次学习的TM32的时钟,对TM32的时钟的一些理论和对官方提供的时钟相关库函数做了些总结,总结的这些也是在自己能力范围之内,如有错误,请指出来。系统时钟初始化1、在system_stm32f10x.c 中可以找到 SystemInit函数2、这个函数的功能是初始化时钟的配置3、在红色部分的上面都是对RCC_CR和RCC_CFGR这两个寄存器进行初始化配置4、而红色框框中原创 2020-07-17 19:05:44 · 483 阅读 · 0 评论 -
STM32的时钟系统介绍
STM32的时钟系统简介时钟系统框图总结简介STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL①、HSI是 高速内部时钟,RC振荡器,频率约为8MHz,精度不高。②、HSE是 高速外部时钟,接外部时钟源,频率范围为4MHz~16MHz。③、LSI是 低速内部时钟,RC振荡器,频率约为40kHz,提供低功耗时钟。④、LSE是 低速外部时钟,接频率为32.768kHz的石英晶体。⑤、PLL为 锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~原创 2020-07-17 17:15:32 · 1870 阅读 · 0 评论 -
STM32 IO口的基本使用方法
STM32基本IO的的使用简介Main 函数Led 函数Beep 函数Key 函数简介这次学习了STM32基本IO的的基本使用方法,运用了库函数和位运算来编写程序Main 函数int main(){ u8 key_mark; beep_init();key_init();led_init();while(1){ key_mark = key_Scan(0); if(key_mark) { switch (key_mark) { case KEY0原创 2020-07-17 11:20:20 · 1609 阅读 · 0 评论 -
STM32基本IO的寄存器介绍
STM32基本IO的寄存器说明简介端口配置低寄存器(32位)数据寄存器(32位)置位/复位寄存器(32位)复位寄存器(16位)锁存寄存器(32位)说明最近自己在学习STM32,跟着原子哥的STM32教学视频学习,以后的博客都是自己对这段时间学习到的内容的总结,麻烦以后要是有出错的请指出来。简介——5132IO可直接配置操作需要配置相关寄存器来操作STM32 的每个 IO 端口都有 7 个寄存器来控制。他们分别是:配置模式的:2 个 32 位的端口配置寄存器 CRL原创 2020-07-15 16:54:33 · 6063 阅读 · 1 评论