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