OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4448|回复: 6

用ucos建立了五个任务,运行都正常,可是我加入了音乐播放,第五个任务就不运行了。

[复制链接]

115

主题

548

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2078
金钱
2078
注册时间
2013-11-27
在线时间
511 小时
发表于 2015-4-6 15:05:25 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]#include "delay.h" #include "sys.h" #include "lcd.h" #include "sys.h" #include "gt811.h" #include "GUI.h" #include "includes.h" #include "led.h" #include "bsp_sdio_sdcard.h" #include "ff.h" #include "diskio.h" #include "GUI_Font16.h" #include "MainTask.h" #include "rtc.h" #include "adc.h" #include "dht11.h" #include "UltrasonicWave.h" #include "TIM2.h" #include "fatapp.h" #include "music.h" #include "VS10XX.h" #include "spi.h" /////////////////////////UCOSII?????è??/////////////////////////////////// //START ???? //?è???????????? #define START_TASK_PRIO 55 //?????????????????è????×??? //?è???????????ó?? #define START_STK_SIZE 64 //???????? OS_STK START_TASK_STK[START_STK_SIZE]; //???????? void start_task(void *pdata); //LED0???? //?è???????????? #define LED0_TASK_PRIO 10 //?è???????????ó?? #define LED0_STK_SIZE 32 //???????? OS_STK LED0_TASK_STK[LED0_STK_SIZE]; //???????? void led0_task(void *pdata); //???????? //?è???????????? #define Touch_TASK_Prio 3 //?è???????????ó?? #define Touch_STK_SIZE 128 //???????? OS_STK TASK_Touch_STK[Touch_STK_SIZE]; //???????? void Task_Touch(void *pdata); //???§???????? //?è???????????? #define Menu_TASK_Prio 7 //?è???????????ó?? #define Menu_STK_SIZE 1024 //???????? OS_STK TASK_Menu_STK[Menu_STK_SIZE]; //???§???????????? void Task_Menu(void *pdata); //?÷???????????? //?è???????????? #define Collection_TASK_Prio 6 //?è???????????ó?? #define Collection_STK_SIZE 512 //???????? OS_STK TASK_Collection_STK[Collection_STK_SIZE]; //???????????? void Task_Collection(void *pdata); //??????·????? //?è???????????? //#define Playmusic_TASK_Prio 5 //?è???????????ó?? #define Playmusic_STK_SIZE 768 //???????? OS_STK TASK_Playmusic_STK[Playmusic_STK_SIZE]; //???????????? void Task_Playmusic(void *pdata); int main(void) { delay_init(); //???±?????????? NVIC_Configuration(); LED_Init(); //????????LED?????????????? RTC_Init(); Adc_Init(); SPIx_Init(); VS_Init(); while(DHT11_Init()); // VS_Sine_Test(); // DHT11_GPIO_Config(); // Read_DHT11(&DHT11_Data); TIM2_Configuration(); UltrasonicWave_Configuration(); while(ctp_dev.init()) delay_ms(200); disk_initialize(0); filecount=FileScan("0:mp3"); // while(1) // { // MainTask(); // } OSInit(); OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//???¨???????? OSStart(); } //???????? void start_task(void *pdata) { OS_CPU_SR cpu_sr=0; pdata = pdata; OS_ENTER_CRITICAL(); //??????????(??·¨±??????ò??) OSTaskCreate(led0_task,(void *)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO); OSTaskCreate(Task_Menu, (void * )0, (OS_STK *)&TASK_Menu_STK[Menu_STK_SIZE-1], Menu_TASK_Prio); OSTaskCreate(Task_Touch, (void * )0, (OS_STK *)&TASK_Touch_STK[Touch_STK_SIZE-1], Touch_TASK_Prio); OSTaskCreate(Task_Collection, (void * )0, (OS_STK *)&TASK_Collection_STK[Collection_STK_SIZE-1], Collection_TASK_Prio); OSTaskCreate(Task_Playmusic, (void * )0, (OS_STK *)&TASK_Playmusic_STK[Playmusic_STK_SIZE-1], Playmusic_TASK_Prio); // OSTaskSuspend(Playmusic_TASK_Prio); OSTaskSuspend(START_TASK_PRIO); //????????????. OS_EXIT_CRITICAL(); //??????????(????±??????ò??) } //LED0???? void led0_task(void *pdata) { while(1) { LED1=0; delay_ms(80); LED1=1; delay_ms(920); }; } //???§???????? void Task_Menu(void *pdata) { while(1) { MainTask(); } } //??????·????? void Task_Playmusic(void *pdata) { uint8_t filePath[20]; while(1) { strcpy((char *)filePath, "0:mp3/"); // °????????·??????tempPath???? strcat((char *)filePath, (char *)(FileN[file_num])); play_mp3((char *)filePath); delay_ms(6); }; } //???????? void Task_Touch(void *pdata) { while(1) { GUI_TOUCH_Exec(); delay_ms(10); }; } //???????? void Task_Collection(void *pdata) { u16 adcx; u16 humi_int_temp; u16 temp_int_temp; u16 adc_t; while (1) { DHT11_Read_Data(&temperature,&humidity); //???????????? if(humi_int_temp!=humidity) water_fRefresh=1; delay_ms(300); if(temp_int_temp!=temperature) temp_fRefresh=1; delay_ms(300); adcx=Get_Adc_Average(ADC_Channel_1,10); adc_temp=adcx*(3.3/4096)*100; if(adc_t!=adc_temp) co2_fRefresh=1; delay_ms(300); UltrasonicWave_StartMeasure(); delay_ms(300); } } [/mw_shl_code]

为什么我一加入了音乐播放的任务,屏幕的任务就不运行了呢?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-4-6 18:52:57 | 显示全部楼层
开往春天的手扶拖拉机
回复

使用道具 举报

115

主题

548

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2078
金钱
2078
注册时间
2013-11-27
在线时间
511 小时
 楼主| 发表于 2015-4-6 20:11:34 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
是显示函数。
回复

使用道具 举报

115

主题

548

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2078
金钱
2078
注册时间
2013-11-27
在线时间
511 小时
 楼主| 发表于 2015-4-6 20:12:55 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
我之前用的是4.5的一个SDIO然后加入mp3的话 是可以的,但是有的时候会卡在DMA里面,然后我又换成了4.4 的
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
38
金钱
38
注册时间
2011-10-28
在线时间
3 小时
发表于 2015-4-6 22:22:13 | 显示全部楼层
注意SD卡读取数据的任务,我之前也是卡在这里
回复

使用道具 举报

115

主题

548

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2078
金钱
2078
注册时间
2013-11-27
在线时间
511 小时
 楼主| 发表于 2015-4-6 22:29:47 | 显示全部楼层
回复【5楼】逍遥客:
---------------------------------
读取数据的任务?能说具体一点吗|?
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2015-4-9 10:29:17 | 显示全部楼层
检查创建5th任务的状态返回值,再看OS配置文件。
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-1 14:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表