lyxing 发表于 2020-5-29 22:55 我知道那两个脚 我网上查的也可以通过别的i/o口来控制P3^2 P3^3的高低电位 触发不就是有下降沿么 别的可以控制他的高低电位 咋就不可以等效那两个脚呢 |
雪峰1259 发表于 2020-5-29 21:43 外部中断INT0与INT1,在 P3.2 P3.3口上,按P3.0不能产生外中断。 |
wulin 发表于 2020-5-29 16:11 额 我是想通过P3^0按键来产生这个中断 |
雪峰1259 发表于 2020-5-29 13:16 程序都给你改好了你还玩不转,无语了。 |
273431377 发表于 2020-5-29 00:33 应该加个while 不过这和名字没啥关系吧 |
wulin 发表于 2020-5-29 06:05 加过while后 还是不行 我先通过按P3^0按键发现没用 然后我又直接按P3^2想产生跳变沿 还是没反应 懵逼了 |
csmyldl 发表于 2020-5-29 00:43 想通过按键来控制中断 |
wulin 发表于 2020-5-29 06:05 赞同楼上 |
楼主犯了两个错误。1.程序结构错误:main函数初始化后必须限制在主循环while(1)中运行,哪怕没有如何任务也得在while(1)中死循环。2.外部中断理解错误:所谓外部中断必须是单片机外部信号作用于IN0(IN1),由软件置flag=1; flag=0;不会触发IN0中断。
|
问题未描述清楚,flag与KEY在程序中定义引脚P32和P30,不知为何要这么定义 |
在main()函数结尾加个while(1); 把中断函数名改成void exint0() interrupt 0 试一下。 |