打印
[ZLG-ARM]

LPC2214不能同是开TIME1和TIMER0中断

[复制链接]
2158|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
swill_333|  楼主 | 2007-8-2 15:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LPC2214不能同是开TIME1和TIMER0中断
我用LPC2214,
1,    Timer0 用作10mS定时,是UCOS的时钟节拍
2,    Timer1 用作100uS定时,是无线解码
3,    只要我打开Timer1中断  
 VICIntEnable=1<<5;// 使能定时器1中断
 全速运行程序,就会进入;  取数据中止
DataAbort
                           B       DataAbort

4,请问各位高手有没有碰到此现象,有什么方法解决吗?

相关帖子

沙发
zlgARM| | 2007-8-2 16:01 | 只看该作者

swill_333

您好:
    百度一下软定时器的概念吧。
    就是说,只使用一个表,表到100us,就处理某事务A;表到10ms就处理某事务B。
    尽量避免同时使用两个中断源,会带来许多不可预知的问题。

使用特权

评论回复
板凳
swill_333|  楼主 | 2007-8-2 16:25 | 只看该作者

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

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

我的产品功能越来越多,所有才考虑用LPC2214,以前一直用P89C51RD之类的MCU
我一般都会用TIMER1,TIMER2,TIMER0,UART ,EXITN0,
而且都是同时打开INT,同时使用,产品都没有发生问题

现在用更高档的ARM,居然发生TIMER0和TIMER1不能同时开INT,否则进入数据中止状态,心中不解!!
而且后面我还要用到UART0,CAPTUR0,EXINT0,I2C,UART1,
那样的话不是更不能运行?
我猜测是不是ZLG的LPC2210的工程模板有问题,在处理INT方面有缺陷?

当然只是猜测,没有证据

使用特权

评论回复
地板
hmlxy| | 2007-8-2 16:38 | 只看该作者

-

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

使用特权

评论回复
5
zlgARM| | 2007-8-2 16:40 | 只看该作者

swill_333

您好:
    确实,ARM7在硬件上不支持中断嵌套,要支持中断嵌套需要用户自己来处理,即用户自己来作现场保护工作。但这怎么能推导出UART0、CAPTURE0、EXTINT0 之类就“更不能运行”的结论呢?真是这样,NXP也没必要推出LPC2000系列的芯片了。
    建议您明天和我们直接联系,可能需要看看您的代码。谢谢。
    020-22644384。

使用特权

评论回复
6
swill_333|  楼主 | 2007-8-2 17:05 | 只看该作者

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

谢谢各位回复!

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

我还在找原因,软件代码没有变

使用特权

评论回复
7
luogs| | 2007-8-3 17:02 | 只看该作者

我的板子也遇到中断问题

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

使用特权

评论回复
8
chengyabcd| | 2007-8-13 10:08 | 只看该作者

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

我在做LPC2214的程序时也发现了同样的问题,但是在仿真时首先下装程序,然后复位开发板,再点击KEIL中的复位开发板按钮,然后进行仿真就OK 了^_^

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

32

帖子

0

粉丝