最近在做IC卡读写模块系统移植时,遇到有点麻烦的问题。IC卡的读写命令发出去不能被打断,否则发送失败或是丢掉了数据的接收,而这个时间有可能达到9ms,而我的Tick时间由于其他模块又被迫降到了1ms,这个就头大了呀?求教呀!
------解决方案--------------------
为什么不能被打断啊?,读写时段时间的中断应该是没问题的
我用KEIL的RTX读一器件时,偶尔会出错,后来读之前把任务调度关掉,读完后再打开就没事了,没任务调度下就一个定时器扫描按键的中断,很快对读写操作没有影响
------解决方案--------------------
关中断,禁止调度
------解决方案--------------------
IC卡的读写命令发出去不能被打断,否则发送失败或是丢掉了数据的接收,而这个时间有可能达到9ms,而我的Tick时间由于其他模块又被迫降到了1ms,这个就头大了呀?
、、、、、、、、、、、、
如果只是某一单一接口有这个要求的话
可以考虑是不是用一个专门的硬件定时器来实现这个延时读写接口?
以这样来保障实时系统的综合实时性
该硬件定时器与系统中任务的通信,可以采用信号量、消息邮箱等方式
------解决方案--------------------
关中断并且禁止任务调度
------解决方案--------------------
读写卡任务设为最高优先级,并且在读写卡时禁止中断。
不过这样的话如果一直在读写卡,那么其他任务也就无法运行了,~~