OpenEdv-开源电子网

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

战舰移植STemWin V5.28

[复制链接]

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1367
金钱
1367
注册时间
2014-2-13
在线时间
169 小时
发表于 2016-5-30 13:40:04 | 显示全部楼层 |阅读模式
本帖最后由 solo 于 2016-5-30 13:46 编辑

硬件环境:战舰开发板103
软件环境:Freertos V8.2.3 + STemWin V5.28
资料主要来自网上,对程序作了一定优化,应该看起来还比较顺眼(ps:原子哥写历程的时候应该注意一下代码规范哦)。STemWin 版本最多的还是5.22,这个5.28是从安富莱那边直接拿来的。感觉5.28移植要比5.22要简单。

一、GUI移植
1、  文件移植:官方下载到的是V5.2.2的,所以不折腾,直接拷贝工程里的文件(V5.2.8)。
2、  底层移植:
  参考官方提供的流程图:
1.png
⑴    LCDConf.c
#define XSIZE_PHYS 480
#define YSIZE_PHYS 320
#define VXSIZE_PHYS 480
#define VYSIZE_PHYS 320
配置液晶的尺寸
⑵    GUIConf.c
配置GUI使用的内存
⑶    GUIConf.h
配置GUI的功能开关
⑷    GUIDRV_Template.c
配置画点函数和读点函数
优化选项:配置画横(竖)线函数、画彩色横线函数、填充函数
⑸    MainTask.c
该文件里创建GUI线程,直接使用
⑹    注意:使用STemWin必须使能CRC
二、触摸移植
没啥好配置的,直接调用即可。
创建一个扫描线程:
GUI_PID_STATEState;
voidvTaskTaskKEY(void *pvParameters)
{   
    while(1)
    {
        tp_dev.scan(0);//扫触摸,1ms

        if(tp_dev.sta&TP_PRES_DOWN) //触摸屏被按下
              {      
                    if((tp_dev.x< lcddev.width) && (tp_dev.y < lcddev.height)) //限制范围
                     {      
                State.x = tp_dev.x;
                State.y = tp_dev.y;
                State.Pressed = 1;
                GUI_PID_StoreState(&State);
                     }
              }
        else //触摸屏释放
        {
            State.x = -1;
            State.y = -1;
            State.Pressed = 0;
            GUI_PID_StoreState(&State);
        }

        vTaskDelay(1);
    }
}

https://git.oschina.net/makosolo/STemWin.git


demo.zip

7.17 MB, 下载次数: 186

参考资料.zip

24.94 MB, 下载次数: 207

软件.zip

26.43 MB, 下载次数: 257

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

使用道具 举报

3

主题

2177

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3321
金钱
3321
注册时间
2013-7-19
在线时间
195 小时
发表于 2016-5-30 14:35:21 | 显示全部楼层
LZ如果方便可以写写教程贴
回复 支持 反对

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1367
金钱
1367
注册时间
2014-2-13
在线时间
169 小时
 楼主| 发表于 2016-5-30 14:36:04 | 显示全部楼层
如果仿真软件编译错误时,可以尝试如下解决方案:

1.打开该项目的“属性页”对话框。

2.单击“链接器”文件夹。

3.单击“命令行”属性页。

4.将 /SAFESEH:NO 键入“其他选项”框中,然后点击应用。

5.重新编辑就可以获取仿真结果了。
http://blog.163.com/zhaojun_xf/blog/static/3005058020158994044996/

回复 支持 反对

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1367
金钱
1367
注册时间
2014-2-13
在线时间
169 小时
 楼主| 发表于 2016-5-30 14:39:09 | 显示全部楼层
ricefat 发表于 2016-5-30 14:35
LZ如果方便可以写写教程贴

这个可以有,不过帖子里除了文件的移植,其他的应该都差不多了(照着工程添加即可)。如果有其他疑问看到会第一时间回复
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 15:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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