WCH沁恒单片机
直播中

杨万富

7年用户 1492经验值
擅长:526774
私信 关注
[问答]

CH573运行IO中断就死机怎么解决?

1、OnlyUpdateApp_Peripheral例程已可以正常OTA了,但每次读回来的都是B区,所以.hex文件都在放在imaginA中,可以正常升级,这样是正常的吗?
2、在上面的例程中工增加一个IO中断,请问题如何增加?
GPIOA_ModeCfg( GPIO_Pin_5|GPIO_Pin_4|GPIO_Pin_15|GPIO_Pin_14, GPIO_ModeIN_PU );   //部分GPIO中断引脚初始化
GPIOA_ITModeCfg( GPIO_Pin_5|GPIO_Pin_4|GPIO_Pin_15|GPIO_Pin_14, GPIO_ITMode_LowLevel ); // 低电平中断
PFIC_EnableIRQ( GPIO_A_IRQn );//开启GPIOA中断

中断函数
__attribute__((interrupt("WCH-Interrupt-fast")))
__attribute__((section(".highcode")))
void GPIOA_IRQHandler( void )
{
PRINT("%x n",GPIOA_ReadITFlagPort());        //读GPIOA口中断状态
PRINT("%x n",GPIOA_ReadITFlagBit(GPIO_Pin_4)); //读GPIO4口中断状态
PRINT("%x n",GPIOA_ReadITFlagBit(GPIO_Pin_5)); //读GPIO5口中断状态
PRINT("%x n",GPIOA_ReadITFlagBit(GPIO_Pin_14)); //读GPIO14口中断状态
PRINT("%x n",GPIOA_ReadITFlagBit(GPIO_Pin_15)); //读GPIO15口中断状态
GPIOA_ClearITFlagBit( GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_14|GPIO_Pin_15 );//清中断
}


按网上查到的,但运行到这里就死机了


  
  用的是CH573
  

回帖(1)

徐晨曦

2022-10-9 10:07:56
先使用下降沿测试验证是否出现问题,如使用低电平中断则在引脚接低进入中断后断开。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分