关于单片机ATmega16外部中断的代码,我是 按照数据手册上来做的 为什么还是不能开启外部中断(低电平触发

DDRD=0x00;PORTD=0xFF;GICR=GICR||0xC0;MCUCR=0x00;GIFR=GIFR||0xC0;SREG=SREG||0x80;... DDRD=0x00;
PORTD=0xFF;
GICR=GICR||0xC0;
MCUCR=0x00;
GIFR=GIFR||0xC0;
SREG=SREG||0x80;
展开
 我来答
yes__mcu
2013-04-15 · TA获得超过923个赞
知道小有建树答主
回答量:387
采纳率:0%
帮助的人:454万
展开全部
你的设置没有问题,不过运算符搞错了
GICR=GICR||0xC0;这里应该是
GICR = GICR | 0XC0; //使能外部中断0、1
后面的也都一样,应该用按位或“|”,不是逻辑或“||”。如果是逻辑或就等于:
GICR = GICR | 0X01,这样当然不能打开外部中断了
shifa2008
2013-04-15 · 超过34用户采纳过TA的回答
知道答主
回答量:135
采纳率:0%
帮助的人:73.1万
展开全部
呵…… 只要相应的中断开了 还有总中断开了 相应的中断就会执行 ,
哦对了 如果我没记错的话 好像 还有个寄存器 EIMSK你没有设置吧,这个是中断屏避寄存器,如果 里面的值是0 的话叫断是不会响应的。
设了 如果还是不行 你可以看看是不是 中断入口 是不是错了,再不行 你可以看看是不是设置 成兼容模式 (这个模式下 有的功能不能用),还不行 可以换个片子试下。还不行。追问。。。。。。
追问
我用的gcc  avr编译器 他不能识别EIMSK, 我应该加什么头文件啊  你说的是不是TIMSK
追答

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式