完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
PIC-18F420把2个中断在我的代码中,1是在其他工作中中断。基本上是2个按钮(读取稳定在引脚0和5推)。我的中断1工作良好,但第二根本没有响应(RB1)。漏掉什么东西?没有特别的优先权,只要任何一个被推动,系统都会做出响应。
以上来自于百度翻译 以下为原文 PIC-18f4520 Putting 2 interrupts in my code, 1 is working other is not. Basically 2 push buttons (reading steady 0 at pins and 5 upon push). My Interrupt 1 works fine, but the 2nd is not responding at all (RB1). Missing something ? No special priority, just if either one is pushed the system will respond. void interrupt_init(void){ INT0IF = 0; // reset external interrupt flag bit INT1IF = 0; // " " RB1 INTEDG0 = 1; // interrupt on the rising edge INTEDG1 = 1; // " " RB1 INT0IE = 1; // enable the external interrupt INT1IE = 1; // " " RB1 GIE = 1; // enable global interrupt } void interrupt ISR(void){ INT0IF = 0; // reset interrupt flag "RB0" INT1IF = 0; // reset " ""RB1" while(PORTBbits.RB0 == 1){ LCDcmd(0xD4),LCDstring("Interrupt 1 detected"); Do this command;} while(PORTBbits.RB1 == 1){ LCDcmd(0x80),LCDstring("Interrupt 2 detected"); Do that command;} } int main(void){ interrupt_init(); ADCON1 = 0x04; // Disable B0,B1 analog (safe) TRISB = 0b11111111; // Interrupts B0,B1 while(1){ Do this, Do that; } |
|
相关推荐
5个回答
|
|
|
|
|
|
我猜想这是一个PIC18F420从你的其他话题。如果你要开始一个新的主题,别忘了每次给出一些背景。你还没有显示任何PIN初始化代码。至少应该包括对TrISB和ADCON1的写入。
以上来自于百度翻译 以下为原文 I assume it's a PIC18F4520 from your other topics. If you're going to start a new topic, don't forget to give some background each time. You haven't shown any pin initialisation code. At the very least that should include writes to TRISB and ADCON1. |
|
|
|
你说得对,我用StudioTyIn()修改了它,我试图保持代码简单而不重要。这就是我所在的地方。所以我设置RB0高,LCD响应,但是当我应用RB1时什么也没有。
以上来自于百度翻译 以下为原文 you're right, I revised it with the interrupt_init(); I was trying to keep the code simple and left off importance. This is where I'm at. So I set RB0 high and the lcd responds, but nothing when I apply RB1. |
|
|
|
这是CulpIdAdIDCON1= 0x04;/ /禁用B0,B1模拟(安全),该值使RB1/AN10模拟。
以上来自于百度翻译 以下为原文 This is the culprit ADCON1 = 0x04; // Disable B0,B1 analog (safe) That value makes RB1/AN10 analog. |
|
|
|
谢谢你!这是固定的,所以我认为我的RB0和RB1是AN12和AN11,LOL。我把它改为ADCON1= 0x05;两者都像一个符咒,谢谢。
以上来自于百度翻译 以下为原文 thankyou Qub! That fixed it, so I thought my RB0 and RB1 were AN12 and AN11, lol. I changed that to ADCON1 = 0x05; both work like a charm, thanks |
|
|
|
只有小组成员才能发言,加入小组>>
5195 浏览 9 评论
2013 浏览 8 评论
1937 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3185 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2240 浏览 5 评论
748浏览 1评论
635浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
520浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
646浏览 0评论
546浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 07:35 , Processed in 1.362859 second(s), Total 85, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号