【stm32_STD_lib学习】bsp_Sysclock和GPIO中断
作者:互联网
1.bsp_SysClock_Config使用:
(1)在工程内加入野火开发板的"bsp_clkconfig.c"和 "bsp_clkconfig.h"
估计这部分的代码差异很小,只有外部晶振的规格会影响结果,但一般都是8MHZ。
(2)注意,由于设置了Flash预存取,文件使用了stm32f10x_flash.c
记得导入这个库文件,
并且在stm32f10x_conf.h中导入stm32f10x_flash.h
(3)然后main函数中就可以使用:
void HSE_SetSysClock(uint32_t pllmul);
void HSI_SetSysClock(uint32_t pllmul);
来配置SysClock频率
2.GPIO中断使用:
(1)在官方实例工程中 STM32F10x_StdPeriph_Examples,
找到中断部分 EXTI;
(2)拷贝两个文件到工程code处:stm32f10x_it.h 和 stm32f10x_it.c
(3)裁剪函数,只留下与GPIO有关的中断:
中断服务例程:
void EXTI0_IRQHandler(void);
void EXTI9_5_IRQHandler(void);
把按键所在的GPIO配置到中断:
void EXTI0_Config(void);
void EXTI9_5_Config(void);
(4)在主函数中包含中断头文件:
#include "stm32f10x_it.h"
可以知道,中断函数并不是一定要写在那个文件里,只是约定。
(5)修改官方提供的例程Config:
指南者的按键1和第一个相同,按键2在PC13,要修改
void EXTI9_5_IRQHandler(void); 为 EXTI15_10_IRQHandler(void);
void EXTI9_5_Config(void); 为 void EXTI15_10_Config(void);
并且在Config函数中修改相应的GPIO端口、引脚、中断Line
了解了9-5和15-10 的引脚是分别共用一条中断线的;
(6)修改IRQHandler 处理例程;
在本人的例程中,EXTI0_IRQHandler 只把灯点亮,EXTI15_10_IRQHandler 把灯熄灭;
(7)在主函数的开始处调用两个Config函数,初始化中断。
以上是GPIO的中断
标签:STD,stm32f10x,lib,中断,void,Sysclock,IRQHandler,GPIO,Config 来源: https://www.cnblogs.com/xianyucaicaizi/p/16264435.html