这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 综合技术» 基础知识» uc,os 读传感器数据,不用uc/os正常,用了读数错误,原因在哪里?真切求助

共2条 1/1 1 跳转至

uc,os 读传感器数据,不用uc/os正常,用了读数错误,原因在哪里?真切求助

院士
2006-09-17 18:14:16 打赏
uc,os 读传感器数据,不用uc/os正常,用了读数错误,原因在哪里?真切求助



关键词: 传感器 数据 不用 正常 用了 读数 错误 原因

院士
2006-12-22 22:43:00 打赏
2楼
问 自己写了程序,运行正常.移植到消息循环下,读数错误,这到底该从哪里下手解决呢? 1: 详细点说明 2: 问题是这样的用1-wire的传感器做测量,不用 uc/ os系统调试程序很正常.后来为了用多任务,使用 uc/ os-ii的消息循环机制,发现从传感器上读到的数据有错误,这是怎么回事呢?请指教. 3: !读数据之前加OS_ENTER_CRITICAL(),读数据之后加OS_EXIT_CRITICAL()试试! 4: 好的,我试试,行不行给大家一个结果我这就试试,谢谢hexenzhou 5: 不行啊加上OS_ENTER_CRITICAL和OS_EXIT_CRITICAL()这样也不行啊 6: 一线协议对时间有很高的要求分短时序和长时序,读写过程必须严格保证时序时间长度,如果采用关中断,长的关中断,需要好几个毫秒,如果不关中断,有可能时间长度不符合要求 7: 那有什么解决的办法呢?在不加载系统时,工作正常,说明时序是对的。放在uC/OS-II下,现在考虑的确是应该开/关中断的,不过使用了OS_ENTER_CRITICAL和OS_EXIT_CRITICAL()也不行,这又是怎么回事呢?不明白pubstar的意思,代码在OS_ENTER_CRITICAL和OS_EXIT_CRITICAL()之间执行,也要分开/关中断需时的长短么?请各位指教。 8: 想也是时序方面的问题。把其他任务停掉try一try此外,把这个任务的代码贴出来看看与你说的消息有没有关系? 9: 不如将几种时间单独,重复产生,用示波器看一下时序 10: 在多任务下很难测时序的pubstar,很难测的。greatbin,用你的方法试试,10个数据中有1个错的,一用多任务就没一个对的了。怎么办? 11: 可能的话,代码贴出来看看 12: greatbin,我换了I2C的片子不过还有一个问题,怎么测量任务的运行时间呢? 13: 请看UCOS-II关于OSStat部分 14: 我也遇到过用1-wire的产品在uC/OS下出错的不过是有对有错,没有全错,即使放在临界代码段也不行,问题也没搞清楚;(,1-wire的东西对时序要求太严格了。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]