自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 hello程序引申

#include <stdio.h>这个头文件在哪?在系统目录中,什么是系统目录呢?就是工具链的目录

2022-04-17 21:15:08 88

原创 RTC实时时钟

RTC时钟源:LSE,HSE_RTC,LSI

2021-08-25 23:46:06 95

原创 输入捕获原理及配置

第一步就是滤波1分频,就是每个上升沿(假如是上升沿触发)触发一次捕获,2分频就是每两个事件触发一次捕获,就是每检测到两个上升沿才去捕获一下,触发捕获的概念就是把计数器的值装载到捕获寄存器中。...

2021-06-09 23:26:37 1590

原创 PWM输出原理与配置

模式1和模式2如下所示:以及初始化IO口配置。

2021-05-24 23:42:01 257

原创 定时器总结

上图所说的每个定时器都有4个独立的通道。CK_PSC经过PSC预分频器产生CK_CNT时钟,最终作为定时器时钟。

2021-04-27 23:17:46 234

原创 独立看门狗配置

HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg)//初始化__weak void HAL_IWDG_MspInit(IWDG_HandleTypeDef *hiwdg)//回调函数HAL_StatusTypeDef HAL_IWDG_Start(IWDG_HandleTypeDef *hiwdg)//启动看门狗HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg)..

2021-03-29 22:36:41 106

原创 外部中断原理及配置步骤

还需要设置中断优先级等上面这个中断服务函数,HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin),如果是中断线0,里面的GPIO就是PIN0,不管你是来自PA0还是PB0等同一时间,中断线和GPIO的映射关系,只可能配置一种IO和中断线映射起来。...

2021-03-21 17:02:02 1174

原创 JTAG/SWD调试概述

点击Debug选项卡中的Trace,写上内核时钟及打开Trace Enable,最好再修改一下图所示:也需要将Trace Enable使能及写上正确的内核时钟在Value值处右键

2021-03-09 22:47:42 366 1

原创 串口发送接受过程与配置详解

2021-02-03 21:07:49 573 1

原创 IO引脚复用和映射

2021-01-21 23:03:04 380

原创 时钟系统初始化剖析

typedef struct{ uint32_t OscillatorType; //时钟源类型 uint32_t HSEState; //HSE的状态位 uint32_t LSEState; uint32_t HSIState; uint32_t HSICalibrationValue; uin.

2020-12-26 09:37:19 214

原创 GPIO库函数介绍

//初始化函数:可以一次初始化一个IO组下的多个IO,前提是这些IO口的配置方式一样void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin);GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);void

2020-12-11 08:22:06 1558

原创 STM32启动模式

STM32的启动模式可通过下面引脚的配置来选择闪存存储器就是FLASH,也就是FLASH启动,BO为高,B1为低的话是系统存储器,从系统存储器启动实际上就是加载bootloader的,也就是执行串口的下载,所以在执行串口下载的时候,BO高,B1低,下载完成之后要启动,BO低,B1任意。BO接高、B1接高是在SRAM启动,可以执行SRAM里面的代码。一般ISP的下载方法:1.首先BO接高、B1接低,按复位键,MCU进入系统存储器,等下完程序之后,要么B0接低、B1任意按一次复位,这样程序就会从FLASH

2020-11-21 10:35:05 240

原创 STM32最小系统构成

STM32最小系统构成就是MCU能够正常工作的最简电路,主要包括供电、复位、时钟、Boot模式,下载电路等。供电电路STM32主要分为VDD数字电源、VSS数字地、VDDA模拟电源、VSSA模拟地。VDD和VDDA之间一般接一个简单的低筒滤波器即可。...

2020-11-17 22:06:26 952

原创 串口通信原理总结

两种通信方式:并行通信:数据各个位同时传输。串行通信:数据按位顺序传输。串行通信,按数据传送方向,分为:单工:数据传输只支持数据在一个方向上传输,只支持数据从发送端传输到接受端,只有一个方向,单向传输。半双工:允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输(不能同时传输的),它实际上是一种切换方向的单工通信。全双工:允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,他要求发送设备和接受设备都有独立的接受和发送能力。串行通信的通信方式同步通

2020-05-21 22:02:29 759

原创 中断优先级管理NVIC总结

1.CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断(并不是外部IO引脚的中断,包含除内核之外的中断),并且具有256级的可编程中断设置。2.STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。3.STM32有84个中断,包括16个内核中断和68个可屏蔽中断(就是上面讲的外部中断),具有16级可编程的中断优先级。4.STM32F103系列上面,又只有60个可屏蔽中断(在107系列才有68个)具体看 <<中文参考手册 >>表55 其它STM32

2020-05-18 22:47:22 2499

原创 端口复用和重映射

什么是端口复用?STM32内部有很多的内置外设,这些外设的外部引脚都是与GPIO复用的,也就是说如果一个GPIO可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。例如串口1的发送和接收引脚是PA9和PA10,当我们把PA9和PA10不用做GPIO的时候,而用作复用功能串口1的发送接收引脚的时候,叫端口复用。端口复用的配置过程—以PA9、PA10配置为串口1为例*1.GPIO端口时钟使能void RCC_APB2PeriphClockCmd(uint32_t RCC

2020-05-16 22:34:30 746

原创 SWDJTAG调试端口脚

STM32F10XXX的5个普通I/O口可用作SWJ-DP接口引脚,这些引脚在所有的封装里都存在。上面这个5个引脚默认是作为JTAG的引脚,并不是IO口,如下:如果想只用SWD模式,不用JTAG模式,该怎么设置呢?可以使用GPIO_PinRemapConfig函数,来设置JTAG和SWD的状态。void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState){ uint32_t tmp = 0x00, tmp1 =

2020-05-14 21:52:14 900

原创 SysTick定时器总结

SysTick定时器可以用来做延时或者实时系统的心跳时钟,他是一个24位的递减定时器,当计时到0时,将从RELOAD寄存器中自动重装载定时初值,只要不把他在Systick控制及状态寄存器中的使能位清除,就永不停息,即使在睡眠模式下也能工作。SysTick定时器有4个寄存器,即:控制及状态寄存器、重装载数值寄存器、当前数值寄存器、校准数值寄存器。Reload寄存器放重装载值,初值寄存器就是Va...

2020-05-07 22:23:22 2266

原创 SystemInit时钟系统初始化函数

void SystemInit (void){/* Reset the RCC clock configuration to the default reset state(for debug purpose) // 打开 HSION 位 */RCC->CR |= (uint32_t)0x00000001;/* Reset SW, HPRE, PPRE1, PPRE2, ADCPR...

2020-04-26 21:32:07 537

原创 STM32时钟系统总结

1.时钟系统对于单片机来说就相当于人的脉搏,所以时钟系统是非常重要的F1有5个时钟源,

2020-04-25 22:27:34 434

原创 STM32GPIO自己总结

1.在开漏输出模式下,如果MCU输出为1,则外部IO电平是由外部的上拉或者下拉决定。另外该输出电平是可以通过输入数据寄存器来读取的。如果MCU输出为0,此时IO口输出为低电平。同时该低电平也可以通过CPU来读取输入寄存器得到。2.在推挽输出模式下,CPU也可以通过读取输入寄存器来得到外部电平。推挽输出可以输出强高低电平的,开漏输出只可以输出强低电平。欢迎使用Markdown编辑器你好! 这是...

2020-04-22 21:58:00 377

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除