- 博客(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
887
原创 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
423
原创 STM32F407标准库学习笔记-EXTI机制
EXTI相关机制如上图所示,红色为自引脚传入的硬件电平信号,绿色为寄存器传来的软件电平信号;两者皆为 能够触发 中断/事件 的信号,交汇于或门,两者都可以单独向后面发出信号。即信号来源有软、硬两种。蓝色线路 意为 将 或门传出的信号 视为中断信号,借助两个 且门 和两组对应的 屏蔽寄存器的 输出信号,实现蓝色通路,黄色断路;中断信号将传入NVIC控制器进一步处理,最终影响到CPU运行,程序上执行对应的中断处理函数。黄色线路意为 将 或门传出信号 视为事件信号,通路与断路的原理同上,但最终只产生一个脉
2021-03-05 23:31:45
609
原创 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
1389
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
1047
原创 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
1212
原创 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
1134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人