完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在BLE broadcaster基础上测试TMOS调度,发现在ProcessEvent里第一行增加PRINT("LED_Process:%x
",events);能正常调度,注释掉这行就不行,非常神奇,附件是完整代码包,帮忙看看什么原因,谢谢。 EVT.rar 深入测试了一下,发现和这个打印语句中的 有关系,去掉 不能调度,加上 能正常调度。 uint16_t LED_ProcessEvent(uint8_t task_id, uint16_t events) { PRINT("LED_Process:%x ",events); //消息处理 if ( events & SYS_EVENT_MSG ) { uint8_t *pMsg; if ( (pMsg = tmos_msg_receive( task_id )) != NULL ) { //消息处理 // demo_task_process_TMOSMsg( (tmos_event_hdr_t *)pMsg ); //释放消息空间 tmos_msg_deallocate( pMsg ); } // return unprocessed events return (events ^ SYS_EVENT_MSG); } if(events & LED_4) { // Start the Device // DelayMs(1000); PRINT("LED4"); GPIOA_InverseBits(bPWM7);//PB4 tmos_start_task(LedFlashTaskId, LED_4, 1600); return (events ^ LED_4); } if(events & LED_7) { // DelayMs(1000); PRINT("LED7"); GPIOA_InverseBits(bPWM7);//PB4 tmos_start_task(LedFlashTaskId, LED_7, 1600); return (events ^ LED_7); } // Discard unknown events return 0; } |
|
相关推荐
4个回答
|
|
|
|
|
|
您好,按照加n或者勾选的方式确实可以解决问题,但是我还有个疑问,在CH57X_BLEInit();函数前的打印,我不加n是可以输出的,所有是不是说这个打印加n和蓝牙初始化或者tmos的初始化有关?
另:任务确实是在调度的。 |
|
|
|
还有个现象是这样的,没加n也没勾选那个配置项的,系统跑1分钟左右也会把打印全部输出出来,如下图
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
555 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2927 浏览 2 评论
2424 浏览 1 评论
908浏览 2评论
719浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
443浏览 1评论
570浏览 1评论
请教一下,Mounriver 编译不成功:找不到库文件,怎么整
837浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 07:05 , Processed in 1.181917 second(s), Total 53, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号