完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
OS_ERR err;
(void)p_arg; MainTask(); while(DEF_TRUE) { GUI_Exec(); / / MainTask(); OStimeDlyHMSM(0, 0, 1, 0, OS_OPT_TIME_HMSM_STRICT, err); } 这是emwin的主界面代码 while(DEF_TRUE) { OSTaskSemPend(0, OS_OPT_PEND_BLOCKING,p_ts, err); //Test(); GPIOG->ODR^=GPIO_Pin_13; OSTimeDlyHMSM(0, 0, 2, 0, OS_OPT_TIME_HMSM_STRICT, err); } 这是等待任务的代码 case GUI_ID_ICONVIEW0: { switch (NCode) { case WM_NOTIFICATION_RELEASED: sel = ICONVIEW_GetSel(hItem); //浠?浣嶅熀鍑? switch (sel) { case 0: //相机 { OSTaskSemPost( COM_TaskTCB, OS_OPT_POST_NONE, err); } break; 这个是emwin回调函数的部分代码,下载之后直接进入硬件中断,如果没有任务等待这个信号就不会,实在不知道为什么会这样,请大家帮忙看看,是哪里没有设置什么吗?ucos iii是参照官方的历程移植的,谢谢 |
|
相关推荐
1个回答
|
|
在您提供的代码片段中,我注意到您正在尝试在uCOS中发布信号量,但是遇到了一些问题。根据您提供的信息,错误代码是 OS_ERR。这通常表示在执行操作时发生了错误。在这种情况下,可能是发布信号量时出现了问题。
以下是可能导致发布信号量失败的一些原因: 1. 信号量未正确初始化:在发布信号量之前,您需要确保信号量已经正确初始化。使用 OSSemCreate() 或 OSSemCreateExt() 函数创建信号量,并确保传递了正确的参数。 2. 信号量已被删除:如果信号量已经被删除,尝试发布信号量将导致错误。确保在发布信号量之前,信号量仍然存在。 3. 信号量的优先级设置不正确:在使用信号量时,需要确保任务的优先级高于或等于信号量的优先级。如果任务的优先级低于信号量的优先级,发布信号量将失败。 4. 信号量计数器达到最大值:信号量的计数器有一个最大值,通常为 65535。如果尝试发布一个已经达到最大计数器值的信号量,将导致错误。 5. 信号量被锁定:如果信号量已经被锁定,尝试发布信号量将失败。确保在发布信号量之前,信号量没有被锁定。 为了解决这个问题,您可以尝试以下步骤: 1. 确保信号量已正确初始化,并且没有被删除。 2. 检查任务的优先级是否高于或等于信号量的优先级。 3. 确保信号量的计数器没有达到最大值。 4. 确保信号量没有被锁定。 此外,您提供的代码片段中有一些语法错误,例如多余的空格和缺少分号。请确保您的代码格式正确,以便编译器可以正确解析。 修正后的代码示例: ```c (void)p_arg; MainTask(); while(DEF_TRUE) { GUI_Exec(); OSTimeDlyHMSM(0, 0, 1, 0, OS_OPT_TIME_DLY, &err); if (err != OS_ERR_NONE) { // 处理错误 } } ``` 请检查您的代码,确保遵循了上述建议,并尝试重新编译和运行程序。如果问题仍然存在,请提供更多关于您的应用程序和信号量使用的详细信息,以便进一步分析和解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
728浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
593浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:29 , Processed in 0.657873 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号