IAP15W4K58S4单片机的PCA程序模块执行很慢
程序功能:主要用于空调红外遥控器的学习解码和红外发射。
在PCA中断服务程序里实现红外发射和红外接收,红外发射程序在Large:variables in XDATA里执行很慢,但在Small:variables in DATA里执行正常,从红外发射监视LED2灯点亮的时间长短就能直观反映出来。由于我的程序用到串口收发大数组变量,程序必须在Large:variables in XDATA里运行,所以必须解决PCA程序模块在Large:variables in XDATA里执行很慢的问题。
不知谁有这方面的技术经验?希望能得到技术大牛的指点,谢谢!
源程序:见附件
程序太复杂,没空详细看。
但你的PCA中断以13us的间隔执行一大堆程序,这是不合理的设计,xdata访问时间会比data稍长,你的时间很临界,所以时间稍长就忙不过来了。
这么短的时间,中断程序一定要尽量简洁,如果仍然无法按时执行完毕,则将主频提高到24MHz看看。
红外收发本来是一个简单程序,整复杂了反而不好。
附件是老STC15实验箱的配套演示程序
谢谢神农鼎回复,谢谢!
页:
[1]