完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
阅读EXTI->PR1寄存器来决定
void EXTI9_5_IRQHandler(void) { uint32_t pending = EXTI->PR1; if(pending & (1 << 5)) { EXTI->PR1 = 1 << 5; // clear pending flag, otherwise we'd get endless interrupts // handle pin 5 here } if(pending & (1 << 6)) { EXTI->PR1 = 1 << 6; // handle pin 6 here } } |
|
|
|
如果引脚来自2个不同的端口怎么办?像5A和5B一样
|
|
|
|
你不能这样做。请参阅描述SYSCFG->EXTICR,EXTI5来自PA5或PB5,两者都是不可能的。
|
|
|
|
您可以存储GPIO_A5和GPIO_B5的先前(最后)状态,在ISR中检查哪一个已更改。当然,退出时用最后一个状态更新变量。当ISR对其进行采样之前更改引脚状态时,可能无法用于非常短的脉冲。如果已知脉冲之间的周期足够大,则可以使用C&R“拉伸”非常短的脉冲宽度。
|
|
|
|
学习了解一下
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1950 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1809 浏览 3 评论
4389 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1960 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2463 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 11:26 , Processed in 0.738985 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号