S3C44B0外部中断求助:谁能帮忙看看下面的代码怎么进不了中

[复制链接]
3431|6
 楼主| mzhang_dhu 发表于 2009-4-27 22:14 | 显示全部楼层 |阅读模式
刚学S3C44B0的中断,想编一个简单的测试程序,怎么搞都进步了中断,希望高手能帮帮忙啊,头都大了。以下是程序:<br />#include&nbsp;&quot;44b.h&quot;<br />#include&nbsp;&quot;44blib.h&quot;<br />#include&nbsp;&quot;def.h&quot;<br />#include&nbsp;&quot;option.h&quot;<br /><br />//&nbsp;若外部中断,即输出“Interrupt”<br /><br />void&nbsp;__irq&nbsp;eint(void)<br />{<br /><br />&nbsp;&nbsp;&nbsp;Uart_Printf(&quot;Interrupt
&quot;);<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;rEXTINTPND&nbsp;=&nbsp;0xf;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;rI_ISPC&nbsp;|=&nbsp;BIT_EINT4567;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br />//&nbsp;中断初始化<br /><br />void&nbsp;init_int(void)<br />{<br />&nbsp;rI_ISPC&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x07ffffff;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;清所有中断<br />&nbsp;rEXTINTPND&nbsp;=&nbsp;0xf;<br />&nbsp;rINTMOD&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x0;<br />&nbsp;rINTCON&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x1;<br />&nbsp;rINTMSK&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;~(BIT_GLOBAL|BIT_EINT4567);<br />&nbsp;<br />&nbsp;pISR_EINT4567&nbsp;=&nbsp;(int)eint;<br />&nbsp;<br />&nbsp;rPCONG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0xffff;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;G口配置<br />&nbsp;rPUPG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x0;<br />&nbsp;rEXTINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x22220020;<br /><br />&nbsp;rI_ISPC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|=&nbsp;BIT_EINT4567;&nbsp;&nbsp;//&nbsp;&nbsp;清外部中断4567<br />&nbsp;rEXTINTPND&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0xf;<br /><br /><br />}<br /><br /><br /><br />int&nbsp;main()<br />{<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;rSYSCFG&nbsp;=&nbsp;CACHECFG;<br />&nbsp;&nbsp;Uart_Init(MCLK,115200);<br />&nbsp;&nbsp;Uart_Select(0);<br />&nbsp;&nbsp;init_int();<br />&nbsp;&nbsp;while(1);&nbsp;&nbsp;<br />}<br /><br />不知道以上的程序哪里出问题了,引导程序用的是三星提供的44binit.s,中断向量表应该已经配置好了,程序总是跑飞了,郁闷。。。。。。
arm4u 发表于 2009-4-29 12:32 | 显示全部楼层

要测试就先用定时中断测试嘛

开始学习就测试外部中断搞不好都不知道你硬件有没有问题
ruchong001 发表于 2009-4-29 19:47 | 显示全部楼层

我也有同样问题啊,

大哥,您这个rINTCON&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x1是啥意思啊?
 楼主| mzhang_dhu 发表于 2009-4-29 20:33 | 显示全部楼层

谢谢大家

rINTCON&nbsp;=0x1是中断采用向量方式中断。后来我设置成rINTCON&nbsp;=&nbsp;0x5,即改为非向量中断,程序改变一下后,可以进入中断了。但对于在向量模式下为什么不能进入中断还是有疑惑啊。
jzdata 发表于 2009-5-7 11:29 | 显示全部楼层

s3c44b0x 好多代码可以参考哦。

  
qiao1102 发表于 2009-5-10 13:47 | 显示全部楼层

eee

&nbsp;&nbsp;&nbsp;&nbsp;楼上的建议好,先用定时中断测试。还应该搞清楚中断是如何从0x18处进入到你的中断服务子程序的!!!!<br />&nbsp;&nbsp;&nbsp;&nbsp;
luhuaren 发表于 2009-5-10 20:31 | 显示全部楼层

re

没将中断向量烧到FLASH里去,当然跑飞了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

66

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部