[ZLG-ARM] LPC2214不能同是开TIME1和TIMER0中断

[复制链接]
3095|7
 楼主| swill_333 发表于 2007-8-2 15:39 | 显示全部楼层 |阅读模式
LPC2214不能同是开TIME1和TIMER0中断<br />我用LPC2214,<br />1,&nbsp;&nbsp;&nbsp;&nbsp;Timer0&nbsp;用作10mS定时,是UCOS的时钟节拍<br />2,&nbsp;&nbsp;&nbsp;&nbsp;Timer1&nbsp;用作100uS定时,是无线解码<br />3,&nbsp;&nbsp;&nbsp;&nbsp;只要我打开Timer1中断&nbsp;&nbsp;<br />&nbsp;VICIntEnable=1&lt&lt5;//&nbsp;使能定时器1中断<br />&nbsp;全速运行程序,就会进入;&nbsp;&nbsp;取数据中止<br />DataAbort<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataAbort<br /><br />4,请问各位高手有没有碰到此现象,有什么方法解决吗?<br /><br />
zlgARM 发表于 2007-8-2 16:01 | 显示全部楼层

swill_333

您好:<br />&nbsp;&nbsp;&nbsp;&nbsp;百度一下软定时器的概念吧。<br />&nbsp;&nbsp;&nbsp;&nbsp;就是说,只使用一个表,表到100us,就处理某事务A;表到10ms就处理某事务B。<br />&nbsp;&nbsp;&nbsp;&nbsp;尽量避免同时使用两个中断源,会带来许多不可预知的问题。
 楼主| swill_333 发表于 2007-8-2 16:25 | 显示全部楼层

我用51RD增强型MCU完全可以实现

我用51RD增强型MCU完全可以实现<br /><br />我的产品功能越来越多,所有才考虑用LPC2214,以前一直用P89C51RD之类的MCU<br />我一般都会用TIMER1,TIMER2,TIMER0,UART&nbsp;,EXITN0,<br />而且都是同时打开INT,同时使用,产品都没有发生问题<br /><br />现在用更高档的ARM,居然发生TIMER0和TIMER1不能同时开INT,否则进入数据中止状态,心中不解!!<br />而且后面我还要用到UART0,CAPTUR0,EXINT0,I2C,UART1,<br />那样的话不是更不能运行?<br />我猜测是不是ZLG的LPC2210的工程模板有问题,在处理INT方面有缺陷?<br /><br />当然只是猜测,没有证据
hmlxy 发表于 2007-8-2 16:38 | 显示全部楼层

-

&nbsp;&nbsp;关于你说的现象,我感觉不应该是你说的“LPC2214不能同是开TIME1和TIMER0中断”,因为我也试过在程序中同时使用的TIMER0和TIME1,但程序运行没有错误,其实有很多情况可以引起数据中止,比如你访问的存储区超出了范围(使用指针或数组时若不小心可能出现这种情况)。你可以先看看跟踪一下程序看是不是代码的问题!<br />&nbsp;&nbsp;但还是建议使用软定时器。<br />&nbsp;&nbsp;小弟我也是初学者,这里只能给点参考意见,可能我的理解也不一定正确,还请谅解
zlgARM 发表于 2007-8-2 16:40 | 显示全部楼层

swill_333

您好:<br />&nbsp;&nbsp;&nbsp;&nbsp;确实,ARM7在硬件上不支持中断嵌套,要支持中断嵌套需要用户自己来处理,即用户自己来作现场保护工作。但这怎么能推导出UART0、CAPTURE0、EXTINT0&nbsp;之类就“更不能运行”的结论呢?真是这样,NXP也没必要推出LPC2000系列的芯片了。<br />&nbsp;&nbsp;&nbsp;&nbsp;建议您明天和我们直接联系,可能需要看看您的代码。谢谢。<br />&nbsp;&nbsp;&nbsp;&nbsp;020-22644384。
 楼主| swill_333 发表于 2007-8-2 17:05 | 显示全部楼层

我彻底断电目标板,在JATG下载调试,又正常了

谢谢各位回复!<br /><br />我彻底断电目标板,再JATG下载调试,又正常了<br /><br />我还在找原因,软件代码没有变<br /><br />
luogs 发表于 2007-8-3 17:02 | 显示全部楼层

我的板子也遇到中断问题

我打开了lpc2294的大部分中断,uart0,uart1都使用中断发送和中断接收,测试的时候uart0/1同时通信的时候也就发送接收几千次就死机了,一般都是停在Undefined,PrefetchAbort或DataAbort处,ucos-ii里面有监视任务堆栈使用情况的任务,一般都开了2倍,下一次把代码贴出来,大家帮忙看看.
chengyabcd 发表于 2007-8-13 10:08 | 显示全部楼层

呵呵我也碰到了相同的问题

我在做LPC2214的程序时也发现了同样的问题,但是在仿真时首先下装程序,然后复位开发板,再点击KEIL中的复位开发板按钮,然后进行仿真就OK&nbsp;了^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

32

帖子

0

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