打印

LPC2368多中断处理问题

[复制链接]
3715|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pyjsp|  楼主 | 2010-1-17 19:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是LPC2368,使用三个中断,分别为定时器,外部中断,串口中断。定时器设置600mS触发一次,外部中断为接收外部多个信号源触发,串口根据定时器定时10秒间隔将信号源触发的时间记录并上发到PC机串口。
问题1:初始化阶段要求将外部中断与定时器中断关闭以进行串口与PC机通信,通信结束后再次开启两个中断。重新开启中断后定时器中断无法进入中断程序。
问题2:重新开启中断后定时器中断和外部中断正常,但串口能进入中断但只能接收PC机发来的16个字节数据,而接收不到其余的数据。串口若悬河触发深度为1个字节。我的中断优先级设置串口为最低。可能是串口中断是在执行外部中断的时候到来的,而外部中断执行完毕后(外部中断程序约为50mS时间,系统时钟8M),串口中断才响应,而这个时候数据已经传输结束,所以只有串口缓冲中的16个字节。但是ARM的处理速度应该不至于这么慢吧,我之前使用MSP430单片机的时候,用这个程序就没问题,可是移植过来就问题多多,调试了几周时间了,还是无法解决。请高手指点一下。!!!!!

相关帖子

沙发
wowow| | 2010-1-19 19:43 | 只看该作者
看到NXP上有这个pdf,没有实践过:
AN10381 Nesting of Interrupts in the LPC2000

使用特权

评论回复
板凳
pyjsp|  楼主 | 2010-1-21 09:17 | 只看该作者
串口中断已经解决,但是外部中断进不去还是存在。增加一个变量就会出现中断进不去的现象。

使用特权

评论回复
地板
hujiangdong| | 2010-1-21 16:04 | 只看该作者
stack 是不是益出了 看看你设置的stact大小

使用特权

评论回复
5
pyjsp|  楼主 | 2010-1-25 15:25 | 只看该作者
回 hujiangdong ,stack已经设置,用的是KEIL自带的LPC2300.S启动文件,并进行更改堆栈大小。但是问题还是存在。以前用MSP430时就没有这个问题!

使用特权

评论回复
6
xinzha| | 2010-1-25 15:32 | 只看该作者
没太看懂,LZ把现在的现象详细描述一下吧,并且说明一下用的环境,我倒是遇到过一次进入断点之后再全速运行就不能获得定时器中断的事,不过跟楼主这个似乎不一样。

使用特权

评论回复
7
niao0311| | 2010-1-30 10:36 | 只看该作者
是不是   底层配置有问题啊    好好查查中断

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝