完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
看了一下好像没有中断的例程,在pm里面看到一个,然后我就改了我用的PA12引脚,虽然配了上拉,但是量了下只有1.5V左右,而且一旦接低电平程序好像就不运行了。我有一个串口1s输出一次的,这里接低电平就一直不会输出了,我的中断也不是电平中断啊。
#define SENSOR_PIN GPIO_Pin_12 void Set_Sensor_State(uint8_t Enable) { if(Enable == 1) { GPIOA_ModeCfg( SENSOR_PIN, GPIO_ModeIN_PU ); GPIOA_ITModeCfg( SENSOR_PIN, GPIO_ITMode_FallEdge ); // 下降沿唤醒 GPIOA_ClearITFlagBit( SENSOR_PIN ); PFIC_EnableIRQ( GPIO_A_IRQn ); } else { PFIC_DisableIRQ( GPIO_A_IRQn ); } } extern uint16_t Blink_Delay; uint16_t Blink[2] = {500,1600},i = 0; __attribute__((interrupt("WCH-Interrupt-fast"))) __attribute__((section(".highcode"))) void GPIOA_IRQHandler( void ) { if(GPIOA_ReadITFlagBit(SENSOR_PIN) == 1) { GPIOA_ClearITFlagBit( SENSOR_PIN ); //中断处理函数 Blink_Delay = Blink[!i]; } } |
|
相关推荐
1个回答
|
|
GPIOA_ReadITFlagBit 的实现原型是 (R16_PA_INT_IF&(pin))
这意味着, 如果判断某个pin中断有效 等于1 是不合适的, 你上面的程序 无论如何都不会等于1,以至于中断没有清, 一直卡在中断里. |
|
|
|
只有小组成员才能发言,加入小组>>
477 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2874 浏览 2 评论
2361 浏览 1 评论
820浏览 2评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
650浏览 1评论
502浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
366浏览 1评论
643浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 16:14 , Processed in 1.008550 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号