提高wince中断响应速度的一种方法(作者:wogoyixikexie@gliet)
来源:互联网 发布:分析家炒股软件 编辑:程序博客网 时间:2024/05/20 23:33
//-----------------------------------------------------------------------------------------------------------
// 作者:wogoyixikexie@gliet
//论坛账号:gooogleman (经常在CSDN出没)
// 版权:桂林电子科技大学一系科协wogoyixikexie@gliet
// 平台:wince5.0 2440 5.0 BSP
// 发布日期:2009年8月10日
// 最后修改:
// 注意事项:未经作者同意,不得在转载的时候擅自修改、删除文章的任何部分
//-----------------------------------------------------------------------------------------------------------
关于wince中断响应速度问题,网上很多文章讨论,我以前也不太明白,后来在弄外部串口驱动的时候我遇到了这个问题,明显是wince中断响应速度太慢,后来我想了好几天,尝试了一种如何提高wince中断响应速度的方法。
在一些文章中模糊的说着什么提高ISR效率就可以提高中断响应素的,后来我用4.2BSP和5.0BSP实测,发现4.2BSP的ISR效率高于5.0的。原因4.2BSP采用的是静态中断绑定方式,而5.0BSP是动态中断方式;嘿嘿,一件事情总有它的利弊,5.0BSP对开发效率有帮助,但是却在中断效率上输了一截,原因就是动态方法要使用太多的查询,耗费了时间。
我想,只要绕过查询,那么5.0BSP就完美了,后来我果然想到了招数:就是在中断线程结束之后立即使能中断!通常中断线程最后通常调用
InterruptDone函数来查询,然后使能中断,现在我不要这个耗费时间的函数了,我直接使能即可。
//-------------------ECOM interrupt EINT1-------------------------
s2440INT->rSRCPND = BIT_EINT1; // to clear the previous pending states
if (s2440INT->rINTPND & BIT_EINT1)
s2440INT->rINTPND = BIT_EINT1;
s2440INT->rINTMSK &= ~BIT_EINT1;
果然,使用这个方法之后,我的串口数据截断问题就解决了。效果非常明显。
- 提高wince中断响应速度的一种方法(作者:wogoyixikexie@gliet)
- wince 5.0 .2440 5.0BSP的中断过程(作者:wogoyixikexie@gliet)
- 转:wince 5.0 .2440 5.0BSP的中断过程(作者:wogoyixikexie@gliet)
- 提高wince中断响应速度的一种方法
- 如何删除wince的驱动(作者:wogoyixikexie@gliet)
- eboot中断学习(作者:wogoyixikexie@gliet)
- wince串口线程、中断等相关学习(作者:wogoyixikexie@gliet)
- wince串口线程、中断等相关学习(作者:wogoyixikexie@gliet)
- 转---------------wince串口线程、中断等相关学习(作者:wogoyixikexie@gliet)
- wince串口之MDD分析(作者:wogoyixikexie@gliet)
- wince 2440串口驱动PDD分析(作者:wogoyixikexie@gliet)
- ZLG7290(wince下)驱动之不停执行同一动作的解决办法(作者:wogoyixikexie@gliet)
- OEMAddressTable 内存映射表是怎么被wince使用的(作者:wogoyixikexie@gliet)
- wince串口打印函数是如何实现的?(作者wogoyixikexie@gliet)
- 写给像我一样的新手——写wince单层驱动的流程(作者:wogoyixikexie@gliet)
- MMU代码分析(作者:wogoyixikexie@gliet)
- 0UL是什么意思?(作者:wogoyixikexie@gliet)
- 从build.log文件了解wince编译过程(作者:wogoyixikexie@gliet)
- IE/Maxthon 收藏夹导入firefox两种解决方法
- 另一个小故事
- 傻瓜——泪流
- linux下oracle数据库服务和监听的启动停止
- 优秀设计网站
- 提高wince中断响应速度的一种方法(作者:wogoyixikexie@gliet)
- 周末我也被理发了,但我脸没变!
- Flex编译错误(NOSERVER_FLEX_OUTPUT_FOLDER )
- Excel快捷键汇总
- 使用.NET配置文件
- 快速启动Oracle监听器
- static in Java
- google protobuf 学习
- 与JAVA项目的融合