【 NUCLEO-F446RE 试用体验】+外部中断

  • donatello
  • LV6工程师
  • |      2017-10-16 11:52:22
  • 浏览量 717
  • 回复:0
Nucleo-F446RE板子上面有一个蓝色的按键,是属于用户自定义编程按键,连接的GPIO引脚为PC13。对于这种只有一个按键的板子,使用外部中断触发是最好的选择,一来程序简单,二来不会占用CPU太多时间片(因为采用轮询方式监测按键输入的话,每循环一次CPU就要耗费时间去询问一次按键的输入状态并做判断,这样子虽然从效果看没什么影响,但是在一些实时性要求高的场合,缺点就体现出来了)。 根据电路图我们可以知道,按键的另外一端是接地的: 所以,我们配置外部中断的方式应该是上拉-下降沿触发,另外,在STM32中,PX10-PX15(X为A到G任意一组引脚)用的是同一条中断线EXTI_15_10,中断初始化代码如下:
void EXTI_IRQHandler_Config(int pre,int sub)

{

	__HAL_RCC_GPIOC_CLK_ENABLE();
中断服务回调程序代码如下:
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)

{

	

	if(GPIO_Pin==GPIO_PIN_13)

	{

		printf("进入用户按键(PC13)外部中断\n");

		HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);

	}

}
串口打印信息: 上传工程文件。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子