自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32F407标准库学习笔记-SYSTICK

SYSTICK定时器与内核紧密相连,请参考ARM公司的手册,他的中断使能在自己的模块中,中断优先级和标志位在SCB中。寄存器定义core_cm4.htypedef struct{ __IO uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ __IO uint32_t LOAD; /*!< Off

2021-03-08 17:04:32 824

原创 STM32F407标准库学习笔记-NVIC相关

NVIC是与内核高度集成的外设,由ARM负责设计,与其他外设不同,因此在ST的参考手册中并为过多提及,具体的寄存器需要参考 M4内核参考手册 。寄存器描述 core_cm4.htypedef struct{ __IO uint32_t ISER[8]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ uint32_t RESERVED0[24]; _

2021-03-06 22:17:48 387

原创 STM32F407标准库学习笔记-EXTI机制

EXTI相关机制如上图所示,红色为自引脚传入的硬件电平信号,绿色为寄存器传来的软件电平信号;两者皆为 能够触发 中断/事件 的信号,交汇于或门,两者都可以单独向后面发出信号。即信号来源有软、硬两种。蓝色线路 意为 将 或门传出的信号 视为中断信号,借助两个 且门 和两组对应的 屏蔽寄存器的 输出信号,实现蓝色通路,黄色断路;中断信号将传入NVIC控制器进一步处理,最终影响到CPU运行,程序上执行对应的中断处理函数。黄色线路意为 将 或门传出信号 视为事件信号,通路与断路的原理同上,但最终只产生一个脉

2021-03-05 23:31:45 523

原创 STM32F407标准库学习笔记-RCC机制

机制分析上电后默认使用的是内部的HSI,一般工作在8MHz,且准度不可靠,标准库会调用启动代码和system_stm32f4xx.h/system_stm32f4xx.c中的相关函数将系统时钟选为HSE+PLL 168MHz。注意,若你没有使用标准库,而是在KEIL的 运行时环境设置 界面选择添加的 CORE和S文件,则不会切换时钟(不包含相关函数),而是默认使用HSI。使用HSE和PLL的时钟路径如上图所示;1.启动HSE,外部晶振结合内部电路起振,输出HSE时钟信号。2.将PLL输入信号选为H.

2021-03-05 12:04:30 1245 1

原创 STM32F407标准库学习笔记-RCC

STM32F407标准库学习笔记-RCC- rcc.htypedef struct{ uint32_t SYSCLK_Frequency; /*!< SYSCLK clock frequency expressed in Hz */ uint32_t HCLK_Frequency; /*!< HCLK clock frequency expressed in Hz */ uint32_t PCLK1_Frequency; /*!< PCLK1 clock

2021-03-02 18:34:56 942

原创 STM32F407标准库学习笔记-AFIO未完

STM32F407标准库学习笔记-AFIO- 头文件 gpio.h#define GPIO_PinSource0 ((uint8_t)0x00)#define GPIO_PinSource1 ((uint8_t)0x01)#define GPIO_PinSource2 ((uint8_t)0x02)#define GPIO_PinSource3 ((uint8_t)0x03)#define GPIO_PinS

2021-03-02 10:56:56 1132

原创 STM32F407标准库学习笔记-GPIO

STM32F407标准库学习笔记-GPIO头文件 gpio.h枚举-列举同一寄存器的不同选项typedef enum{ GPIO_Low_Speed = 0x00, /*!< Low speed */ GPIO_Medium_Speed = 0x01, /*!< Medium speed */ GPIO_Fast_Speed = 0x02, /*!< Fast speed */ GPIO_High_Speed = 0x03 /

2021-03-01 20:04:47 1014

空空如也

空空如也

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

TA关注的人

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