|
在很多应用场景种需要对已配置为复用功能的 GPIO 输入引脚开启外部中断。比如SPI 从机端,在 SPI_NSS 片选输入引脚上升沿触发 EXTI 中断,以此判断一次 SPI 传输结束。 也就是说配置引脚时,需要同时启用复用功能模式和外部中断。但目前 HAL 库不支持该组合,执行IS_GPIO_MODE(MODE)宏校验时会触发断言报错。 但 STM32 硬件本身普遍支持这种引脚复用 + 外部中断共存的用法,因此 HAL 库理应配套支持。 我在stm32g4xx_hal_gpio.h中新增了如下定义来实现该功能: define GPIO_MODE_AF_IT_RISING (MODE_AF | EXTI_IT | TRIGGER_RISING) /!< Alternate Function with External Interrupt Mode with Rising edge trigger detection /define GPIO_MODE_AF_IT_FALLING (MODE_AF | EXTI_IT | TRIGGER_FALLING) /!< Alternate Function with External Interrupt Mode with Falling edge trigger detection /define GPIO_MODE_AF_IT_RISING_FALLING (MODE_AF | EXTI_IT | TRIGGER_RISING | TRIGGER_FALLING) /!< Alternate Function with External Interrupt Mode with Rising/Falling edge trigger detection /同时同步修改了IS_GPIO_MODE(MODE)校验宏,stm32g4xx_hal_gpio.c驱动文件无需改动。 建议在所有硬件支持该特性的 STM32 系列 HAL 驱动中统一加入类似定义。 |
SPI 发送数据需要等待哪些状态标志位?
关于l9663的SPI通信问题
请问一下STM32F103C8T6的Hardwar NSS Output ENABLE后cs持续拉低是为什么
求助,局部变量初始化时未赋值会导致什么后果?
局部变量初始化时未赋值会导致什么后果
使用Hal库的SPI读取磁边传感器导致STM32G4无法运行
为什么STM32H7的DMA第一次启动延时较长?
STM32H7的FDCAN
3.3v单片机能刷写1.8v的spi flash吗?
关于外部事件(EXTI0)触发SPI读取数据
微信公众号
手机版