清风迎明月 发表于 2023-10-27 09:16:40

普通IO中断单独只用一个管脚,其他管脚还可以他用吗

本帖最后由 清风迎明月 于 2023-10-27 09:20 编辑


普通IO中断单独只用一个管脚,其他管脚还可以他用吗?

手册示例都使用了对整个口所有管脚使用中断功能的情形,所以有点吃不准了
我想用P3.7管脚下降沿中断来检测外部脉冲,但P3.0和P3.1仍然当串口0使用,这样可以吗?
只对P3.7中断初始化
P3IM0 = 0x00;         

P3IM1 = 0x00;P3INTE = 0x80;         //使能 P3.7口中断

另外,如果这么能使用的话,是不是普通IO口中断和传统的外部中断区别并不太大了,相当于扩展出了好多外部中断,只是使用上略有差异?

神农鼎 发表于 2023-10-27 09:52:55

可以,把芯片设计的人想正常些,他们不会做不正常的事


【新提醒】所有普通I/O口都支持外部中断的演示程序,STC8系列、STC32系列, 中断号37~44 - I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

rengran 发表于 2023-12-3 13:07:17

IO的寄存器是8位的,可以单独对某个位进行设置模式,并不影响同寄存器其他的位。同理PxINTE也是单独可以设置某个引脚的中断使能的,其实你写的P3INTE=0X80,只是让P3.7使能了中断,其他的P3口是禁止了中断功能的。防止引起误解,你可以使用P37INTE=1这样设置,和你的效果是一样的,而且避免了以为P3口的所有脚都使能了中断
页: [1]
查看完整版本: 普通IO中断单独只用一个管脚,其他管脚还可以他用吗