问题:文件级的应用,需要CH375lib 库函数,而xQueryInterrupt( ); 这个函数虽然是自己定义的,但是,根据所给的例子,不论是查询方式还是中断方式,都是一个死循环,而且在库函数中也调用了这个函数,死循环的一个缺点就是,一旦出现异常,就会死机,请沁恒的工程师,能解答一下,可以将该函数定义为不是死循环的吗?库中的什么函数调用了该函数,是否调用该函数是为了等待上一个操作结束?
查看: 3361
回复: 11
[原创]
热门产品 :
CH585: 集成高速USB和NFC的蓝牙MCU
你可以在xQueryInterrupt( )函数这里面加上超时处理就可以了,这个函数在检测U盘连接等等都是用到的
能否具体讲是哪个函数调用了xQueryInterrupt( )?
经常用到的函数,设计成死循环,简直是弱智!不知道沁恒怎么想的??????????????
这个函数是用来查询中断的,只要产生中断,就跳出循环,并不是一直死循环
如果不产生中断,岂不死机?比如,不插U盘去查询U盘状态,或者,插入的U盘是不可识别的介质等等,都会死机...?
在EXAM0的HOST.C例子程序中有等待中断超时的处理方法供参考, 在单片机技术上,单线程程序通常都是用死循环等待事件发生再处理,除非是多任务
如果发生U盘不支持也会产生中断,只不过是操作失败的中断,子程序会分析并返回主程序
操作失败,比如调用文件IO函数如果失败,就没有中断产生,死机....而且还没法退出死循环
麻烦帮我开通CH375FAT.ZIP权限,在线等....
luoye268268
发表于: 2007-01-29 11:45:00
你打电话到销售部门或是到销售版发帖。
而且,我的程序就正好是应用在类似多任务,所以...
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录