OSSemPend不等待时钟周期的问题求助

 我来答
lilipat
高粉答主

2017-11-25 · 每个回答都超有意思的
知道大有可为答主
回答量:3万
采纳率:94%
帮助的人:5034万
展开全部
用法:串口接收到正确的指令后OSSemPost(recvok);然后在指令的解析程序里面使用 OSSemPend来请求信号量
我使用这个OSSemPend的时候,如果 OSSemPend(recvok,0,&err);可以正常等待信号量释放,一切正常,但是我
OSSemPend(recvok,3000,&err);这样的时候,下面的代码马上就被执行了,正常应该等待3000个节拍才执行下面
的代码的啊,不知道何原因,求高手指点!在OSSemPend(recvok,3000,&err);语句后面打印得到的err=0;
你的UCOS时钟节拍配置的多少?
回复【2楼】
---------------------------------
1ms,这跟UCOS节拍多少有关系?我OSTimeDlyHMSM这些函数都是正常的
1ms的话那就应该没问题的,调用OSSemPend(recvok,3000,&err)以后等待3s时间,如果没有请求到信号量就会执行下面的代码了
多谢各位,原因找到了,STM32的8M晶体,振荡电容没有焊,加上2个20P电容就解决问题了!以后绝对不能偷懒。。。。
深圳市兴威帆电子技术有限公司
2023-08-24 广告
实时时钟模块可以选择许多不同的制造商和型号,具体选择取决于您的应用需求和预算。一些流行的实时时钟模块品牌包括DS1302、MA电商平台6925和MCP7941。这些模块都具有精度高、稳定性好、功耗低等优点,并具有不同的功能和特性,可以满足各... 点击进入详情页
本回答由深圳市兴威帆电子技术有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式