硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2864|回复: 5
收起左侧

[emWin] stemwin+freertos + 429

[复制链接]

100

主题

94

回帖

394

积分

高级会员

积分
394
发表于 2020-2-7 13:32:02 | 显示全部楼层 |阅读模式
本帖最后由 wen 于 2020-2-7 14:15 编辑
  1. void MainTask(void)
  2. {
  3.         WM_MULTIBUF_Enable(1);
  4.         GUI_Init();  
  5.         。。。。。。        
  6.     CreateXXXWindow(WM_HBKWIN);
  7. }

  8. void emwindemo_task(void *pvParameters)
  9. {        
  10.         MainTask();
  11.         
  12.         while(1)
  13.         {
  14.                 GUI_TOUCH_Exec();                        
  15.                 GUI_Exec();
  16.                 vTaskDelay(1);//(*)
  17.         }
  18. }
复制代码
请问:1.代码有什么不合理的地方?
   2.标记(*)处延时函数接口是占用CPU的延时还是需要引起任务调度的延时;GUI_Delay、vTaskDelay、delay_ms,这三种到底用哪一个?
   3.标记(*)处延时时间对于429来说如何确定,才能使得使用流畅?
谢谢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-2-8 09:10:35 | 显示全部楼层
1、初步看没问题。
2、GUI_Delay就可以,他等于GUI_Exec() + vTaskDelay(x);

3、你当前的这个实现时间已经很短。
回复

使用道具 举报

5

主题

244

回帖

259

积分

高级会员

积分
259
发表于 2020-2-8 14:39:30 | 显示全部楼层
延时函数直接用GUI_Delay就可以了,你移植emwin的时候在GUI_X_FreeRTOS
回复

使用道具 举报

100

主题

94

回帖

394

积分

高级会员

积分
394
 楼主| 发表于 2020-2-8 15:17:29 | 显示全部楼层
eric2013 发表于 2020-2-8 09:10
1、初步看没问题。
2、GUI_Delay就可以,他等于GUI_Exec() + vTaskDelay(x);

我把时间搞的很短,但是触摸按键被按下再松开,有很大概率会周期性呈现按下松开好几次,好像按了好几次一样的效果
回复

使用道具 举报

5

主题

244

回帖

259

积分

高级会员

积分
259
发表于 2020-2-9 13:51:39 | 显示全部楼层
DX3906 发表于 2020-2-8 14:39
延时函数直接用GUI_Delay就可以了,你移植emwin的时候在GUI_X_FreeRTOS

尴尬,话还没打完就直接发出去了。。。。
回复

使用道具 举报

5

主题

244

回帖

259

积分

高级会员

积分
259
发表于 2020-2-9 13:57:13 | 显示全部楼层
感觉获取触摸坐标的时间间隔太短了,如果操作系统的心跳节拍是1000的话,那差不多是1ms获取一次了。我觉得适当延长一点比较好。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-18 17:47 , Processed in 0.229233 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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