[STM32F1] VSCODE STM32 裸机之外部中断

[复制链接]
 楼主| zero949079783 发表于 2021-10-17 17:55 | 显示全部楼层 |阅读模式
本帖最后由 zero949079783 于 2021-10-17 23:09 编辑

开发环境:VSCODE(gcc编译链)+STM32CubeMX(也可以使用HUAWEI-LiteOS-Studio) 。
代码:链接:https://pan.baidu.com/s/1uXfIR0GFQOBZPl1NfQP08w  
提取码:6b0c   
  • GPIO mode(模式)
External Interrupt Mode with Rising edge trigger detection(上升沿式外部中断模式)
External Interrupt Mode with Falling edge trigger detection(下降沿式外部中断模式)
External Interrupt Mode with Rising/Falling edge trigger detection(上升下降沿式外部中断模式)
External Event Mode with Rising edge trigger detection(上升沿式外部置位模式)
External Event Mode with Falling edge trigger detection(下降沿式外部置位模式)
External Event Mode with Rising/Falling edge trigger detection(上升下降沿式外部置位模式)

  • GPIO Pull-up/Pull-down(上下拉):默认设置为 No pull-up and no pull-down
  • User Label(用户标签): 可以标记这个引脚是做什么用的,提高可读性。
NVIC
  • 根据需要设置Priority Group
  • 勾选对应的中断使能(Enabled)
  • 根据需要填写抢占优先级(Preemption Priority),次优先级(Sub Priority)


HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) 为回调函数。
普通函数与回调函数的区别:就是ST将中断封装,给使用者的API,就是标准库的中断函数
对普通函数的调用:
调用程序发出对普通函数的调用后,程序执行立即转向被调用函数执行,直到被调用函数执行完毕后,再返回调用程序继续执行。从发出调用的程序的角度看,这个过程为“调用-->等待被调用函数执行完毕-->继续执行”
对回调函数调用:
调用程序发出对回调函数的调用后,不等函数执行完毕,立即返回并继续执行。这样,调用程序执和被调用函数同时在执行。当被调函数执行完毕后,被调函数会反过来调用某个事先指定函数,以通知调用程序:函数调用结束。这个过程称为回调(Callback),这正是回调函数名称的由来。
1.png
2.png
3.png
4.png
4-1.png
5.png
6.png
7.png
8.png



9.jpg
10.jpg
a.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

91

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

33

主题

91

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部