打印
[STM32F1]

VSCODE STM32 裸机之外部中断

[复制链接]
651|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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),这正是回调函数名称的由来。



a.jpg (161.5 KB )

a.jpg

10.jpg (276.66 KB )

10.jpg

9.jpg (232.4 KB )

9.jpg

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

85

帖子

1

粉丝