ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【stm32_STD_lib学习】bsp_Sysclock和GPIO中断

2022-05-12 21:31:56  阅读:199  来源: 互联网

标签:STD stm32f10x lib 中断 void Sysclock IRQHandler GPIO Config


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有