为什么我的CH432T不能中断?

我把CH432配套的例程下载到51单片机中调试,发送数据正常,却无法通过中断来接收数据,我用模拟低电平的方法来触发51单片机的外部中断,发现单片机可以正确地读出CH432串口所接收到的数据,证明单片机的外部中断是正常的,那么只能是CH432的中断有问题了。我试过换一块芯片,但结果还是一样,请问是为什么?

CH432芯片共有3个中断请求输出引脚:INT0 引脚是串口 0 的中断请求,由串口 0 的MCR 寄存器 的OUT2控制其三态输出,当OUT2 为1时输出允许;INT1引脚是串口 1 的中断请求,由串口 1的 MCR 寄存器的OUT2控制其三态输出,当OUT2 为 1 时输出允许;INT#引脚是低电平有效的开漏输出引脚, 连接单片机时可能需要外加上拉电阻,在逻辑功能上是 INT0 和 INT1 的“或非” ,当 INT0 或者 INT1 其中一个有效时(三态输出允许且输出高电平),INT#引脚输出低电平,否则 INT#引脚不输出。 如果只连接 INT#引脚,即两个串口合用一个中断请求,那么单片机在进入中断服务程序后,首 先应该分析出是哪个串口的中断请求。 当进入中断服务程序后, 单片机首先读取串口0 的 IIR寄存器, 有中断则处理并退出, 无中断则读取串口 1 的IIR 寄存器,有中断则处理并退出,无中断则直接退出。 当确认是某个串口的中断后,如果有必要还可以进一步分析 LSR 寄存器,分析中断原因并处理。 如果连接了INT0 和INT1 引脚,那么单片机就能够直接判断出是哪个串口的中断请求,可以直接 读取其 IIR 寄存器分析并处理中断。INT0 和 INT1 在三态输出禁止时(MCR 寄存器的 OUT2 为 0),内 置的弱上拉电阻会使其输出微弱的高电平,通过外接10KΩ~100KΩ的下拉电阻可使其默认为低电平。 如果串口工作于中断方式,那么需要设置 IER 寄存器以允许相应的中断请求,并设置MCR 寄存器 中的OUT2以允许中断输出。 如果串口工作于查询方式,那么无需设置 IER和 MCR的 OUT2,只需查询LSR 寄存器并分析处理。


CH432T只有一个中断请求输出引脚,那就是INT#


只有登录才能回复,可以选择微信账号登录