ucos3程序无法切换,关于STM32F207

[复制链接]
 楼主| gaobq 发表于 2013-10-2 09:33 | 显示全部楼层 |阅读模式
从micrium官网上下载的ucos3 for STM32F207的例程,没做什么改动,就是创建了几个任务,下载到硬件平台执行,每个任务都是在创建时执行一次,后面就再也切换不到多任务,只有创建任务一个在执行。刚开始学习ucos3,请懂行的给俺指点指点,不甚感谢!使用keil MDK作为调试环境。
 楼主| gaobq 发表于 2013-10-2 21:47 | 显示全部楼层
忘了把代码上传了,补上

发电机面板_uCOS-III.part01.rar

2 MB, 下载次数: 6

发电机面板_uCOS-III.part02.rar

2 MB, 下载次数: 4

发电机面板_uCOS-III.part03.rar

2 MB, 下载次数: 5

发电机面板_uCOS-III.part04.rar

2 MB, 下载次数: 3

发电机面板_uCOS-III.part05.rar

2 MB, 下载次数: 5

发电机面板_uCOS-III.part06.rar

964.21 KB, 下载次数: 4

 楼主| gaobq 发表于 2013-10-2 21:47 | 显示全部楼层
换成IAR,这个多任务仍然不能切换,估计是哪里设置的不对
香如故 发表于 2013-10-3 08:53 | 显示全部楼层
看了下程序,我也对ucos3不是很了解,发表下可能的问题点吧
你的任务优先级是
#define  APP_TASK_START_PRIO                             10u
#define  Task1_LEDShow_PRIO                              3u
#define  Task2_KeyAC_PRIO                                4u
#define  Task3_KeyDC24_PRIO                              5u
#define  Task4_KeyDC12_PRIO                              6u
#define  Task5_LCD_PRIO                                  7u
#define  Task6_CAN_PRIO                                  8u
#define  Task7_BreathLed_PRIO                            9u
其中task2到6都是空的,任务应该不能是空的吧,要有个无限循环才行。
由于ucos3支持轮询,你可以把优先级别都设置成3看看,能不能切换任务。
我的keil没有STM32F207这个芯片选项,不能软件仿真。你可以先把优先
级别改下测试下。呵呵
 楼主| gaobq 发表于 2013-10-3 10:00 | 显示全部楼层
我试试看,一是把所有任务都填上无线循环;二是改变优先级看看。
 楼主| gaobq 发表于 2013-10-3 11:22 | 显示全部楼层
就是任务函数写的有问题,首先必须每个任务都是无限循环,其次不能为空。问题解决,谢谢香如故
您需要登录后才可以回帖 登录 | 注册

本版积分规则

172

主题

831

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部

172

主题

831

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部