完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
创建三个任务
任务1 用串口发送数据 [C] 纯文本查看 复制代码 void usart1(void){u8 u[50];while(1){usart1_data("T1发送数据"); //往串口1发送数据sprintf(u,"%d",ti); //数字转文本usart1_data(u);usart1_data("rn");Ti++;}} 任务2 控制LED0灯闪 [C] 纯文本查看 复制代码 void led(void){while(1){led0 =1;delay_ms (400);led0=0;delay_ms (300);}} 任务3 控制LED1灯闪 [C] 纯文本查看 复制代码 void led3(void){while(1){led1 =0;delay_ms (50);led1=1;delay_ms (50);}} 创建任务时 先创建任务2和任务3 再创建任务1 三个任务都能正常运行 可 先创建任务2和任务1 再创建任务3时 只有任务2和任务1能运行 任务3没有运行 三个任务都创建成功了 通过调试发现 CPU没有跳到任务3里运行 在任务1中加入delay_ms 后三个任务又正常了 delay_ms 中有转让CPU使用权的功能 时间轮转调度 不是一个任务执行一段时间 系统再执行另一个任的吗 怎么还要在任务里转让CPU使用权? 不解。。 |
|
相关推荐
3个回答
|
|
问题终于解决了 只要把OSInit() 写在OSSchedRoundRobinCfg() 前面就正常了, 配置ucos相关参数时 一定要先初始化才行
|
|
|
|
|
|
谢谢分享
|
|
|
|
只有小组成员才能发言,加入小组>>
818 浏览 0 评论
1162 浏览 1 评论
2536 浏览 5 评论
2871 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2720 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1114浏览 3评论
198浏览 2评论
465浏览 2评论
382浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
462浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 20:39 , Processed in 1.110886 second(s), Total 81, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号