完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
第一张图片是print_task 随意,一开始如果在这里进去music_maintask(),把mainview_maintask()注释掉的话,进去music_maintask(),界面能够刷出来跟后台的music_task任务都是正常; 如果,注释掉music_maintask(),由mainview_maintask()中控件iconview控件去进入music_maintask()的话,后台的任务music_task正常运行,但是这时候界面刷不出来,其他任务都正常,仿真到GUI_Exec()这里就仿真不下去,但是其他任务正常运行,内存使用情况也正常; 如果,从mainview_maintask()中进来music_maintask()的话,把music_task注释掉,创建uart_task 这个任务,这个任务正常运行,界面也能刷出来;我现在都无从下手了。 控件之间的GUI_USER_ID是不冲突的,还有,任务堆栈设置的大小我也试过改变到2048这么大,还是不行,监控着内存的使用时正常的,搞两天了,求助。 |
|
相关推荐
3个回答
|
|
[C] 纯文本查看 复制代码
void Main_cb_BkWindow(WM_MESSAGE *pMsg){int Id;int NCode;static int Sel;switch(pMsg->MsgId){case WM_TIMER: Mainview_TimeEvent(pMsg); //TEXT_SetText(WM_GetDialogItem(hWin, TEXT_NOW),"123");// printf("nimenhaorn"); WM_RestartTimer(pMsg->Data.v,100); break;case WM_PAINT:GUI_DrawBitmap(&bmbackground,0,0);//GUI_SetBkColor(GUI_BLUE);//GUI_Clear();break;case WM_NOTIFY_PARENT:Id=WM_GetId(pMsg->hWinSrc);NCode=pMsg->Data.v;switch(Id){case MAIN_ICONVIEW://ICONVIEW0控件switch(NCode)//通知代码{case WM_NOTIFICATION_CLICKED:Sel=ICONVIEW_GetSel(pMsg->hWinSrc);switch(Sel){case 0://APP0call_MainTask();break;case 1://APP1Calculator_MainTask();break;case 2://APP2break;case 3://APP3break;case 4://APP4break;case 5://APP5break;case 6://APP6WM_HideWindow(WM_GetDialogItem(pMsg->hWin,MAIN_ICONVIEW));WM_HideWindow(WM_GetDialogItem(pMsg->hWin,MAIN_TEXT_INFO));WM_HideWindow(WM_GetDialogItem(pMsg->hWin,MAIN_TEXT_CALENDAR));WM_HideWindow(WM_GetDialogItem(pMsg->hWin,MAIN_TEXT_TIME));WM_HideWindow(WM_GetDialogItem(pMsg->hWin,MAIN_TEXT_CALL));WM_HideWindow(WM_GetDialogItem(pMsg->hWin,MAIN_TEXT_MSG));GUI_SetBkColor(GUI_BLUE); GUI_Clear();Music_MainTask();GUI_Delay(1000);WM_SetCallback(WM_HBKWIN,Main_cb_BkWindow);WM_ShowWindow(WM_GetDialogItem(pMsg->hWin,MAIN_ICONVIEW));WM_ShowWindow(WM_GetDialogItem(pMsg->hWin,MAIN_TEXT_INFO));WM_ShowWindow(WM_GetDialogItem(pMsg->hWin,MAIN_TEXT_CALENDAR));WM_ShowWindow(WM_GetDialogItem(pMsg->hWin,MAIN_TEXT_TIME));WM_ShowWindow(WM_GetDialogItem(pMsg->hWin,MAIN_TEXT_CALL));WM_ShowWindow(WM_GetDialogItem(pMsg->hWin,MAIN_TEXT_MSG));break;case 7://APP7break;case 8://APP8break;case 9://APP9break;}break;case WM_NOTIFICATION_RELEASED:break;case WM_NOTIFICATION_SEL_CHANGED:break;}break;}break;default:WM_DefaultProc(pMsg);break;}}void Music_MainTask(void) { OS_CPU_SR cpu_sr=0; GUI_Init();music_new=mymalloc(SRAMEX,10);mymemset(music_new,0,10);if(!mp3){OS_ENTER_CRITICAL();//music_msg=OSMboxCreate((void*)0); //创建消息邮箱 用于传输通信 UI->AUDIOPLAY taskOSTaskCreate(music_task,(void *)0,(OS_STK *)&MUSIC_TASK_STK[MUSIC_STK_SIZE-1],MUSIC_TASK_PRIO );//OSTaskCreate(uart_task,(void *)0,(OS_STK*)&UART_TASK_STK[UART_STK_SIZE-1],UART_TASK_PRIO);OS_EXIT_CRITICAL(); }else{audio_start();OSTaskResume(UART_TASK_PRIO);}//music_msg=OSMboxCreate((void*)0);mp3=true;//GUI_EnableAlpha(1);// WM_SetDesktopColor(GUI_WHITE); /* Automacally update desktop window */ WM_SetCreateFlags(WM_CF_MEMDEV); /* Use memory devices on all windows to avoid flicker */ FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX); PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX); BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX); SLIDER_SetDefaultSkin(SLIDER_SKIN_FLEX);OS_ENTER_CRITICAL();Win=GUI_CreateDialogBox(Music_aDialogCreate, GUI_COUNTOF(Music_aDialogCreate), &Music_cbCallback, 0, 0, 0);GUI_Exec();OS_EXIT_CRITICAL();flage=true;while(flage){GUI_Delay(500);}myfree(SRAMEX,music_new);return;}void print_task(void *pdata){WM8978_ADDA_Cfg(1,0);//开启DACWM8978_Input_Cfg(0,0,0);//关闭输入通道WM8978_Output_Cfg(1,0);//开启DAC输出 while(1){//Calculator_MainTask();//call_MainTask();//OSTimeDlyHMSM(0,0,0,5);//延时5ms//GUIDEMO_Skinning();//Music_MainTask();//Input_MainTask();//Sendmsg_MainTask(); //Read_msg_MainTask();Mainview_MainTask(0); //jpegshow("1:/测试用文件/示例图片.jpg");//TESTMainTask(); GUI_Delay(200);//mp3_play_song("1:/测试用文件/这条街.mp3");//mp3_play_song("1:/","测试用文件/这条街.mp3");//lrc_test("1:/测试用文件/","这条街.mp3"); //jpegdisplay_demo();}} |
|
|
|
以上是三个函数的代码,有些乱,求谅解,其中从mainview_maintask()进去call_MainTask(),Calculator_MainTask()这两个窗口是正常的,就是把之前做好的music这个APP加载到这里上面就出问题。
|
|
|
|
帮顶....
|
|
|
|
只有小组成员才能发言,加入小组>>
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是怎么回事?
463浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 09:04 , Processed in 0.969808 second(s), Total 82, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号