OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...
查看: 1038|回复: 7

rt-thread-2.0.2+UCGUI+电容触摸屏+sdio+25q64

[复制链接]

  离线 

1

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-11-18
在线时间
9 小时
发表于 2017-11-18 18:39:28 | 显示全部楼层 |阅读模式
本帖最后由 wan710 于 2017-11-18 19:02 编辑

[rt-thread-2.0.2+UCGUI+电容触摸屏+sdio+25q64 spi flash++fatfs+dfs

在淘宝上买了块stm32vet6 mini核心板,将国产rt-thread-2.0.2+UCGUI+电容触摸屏+sdio+25q64 spi flash++fatfs+dfs全整了上去。

马云家屏幕 价格50多 分辨率800 480 ips 显示效果不错 屏幕本身自带1m显存 刷屏非常快。 修复一个bug  附件已更新
搜狗截图17年11月18日1759_3.png

搜狗截图17年11月18日1759_2.png

搜狗截图17年11月18日1758_1.png

IMG_20171118_181656.rar

3.59 MB, 下载次数: 248

rt-thread-2.0.2 UCGUI.rar.zip

2.86 MB, 下载次数: 346

回复

使用道具 举报

  离线 

1

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-11-18
在线时间
9 小时
 楼主| 发表于 2017-11-27 10:08:22 | 显示全部楼层
本帖最后由 wan710 于 2017-11-27 10:12 编辑

说一下这几天遇到的一些问题,留作记录.
1.插入SD卡以后,rt-thread启动时报异常,只要插入SD卡,启动就出这个异常,不插SD卡就没事,SD卡初始化和tshell初始化的之间有什么相互影响之类的猫腻呢?花了一些时间跟踪,找到问题的一些眉目
tshell初始化:
INIT_COMPONENT_EXPORT(finsh_system_init);
SD卡初始化:
INIT_DEVICE_EXPORT(rt_hw_sdcard_init);
都是借助系统components初始化框架完成的,具体不详述, 但是不知道怎么去调整他们之间的初始化顺序,于是不采用上面的方式初始化,自己在application初始化程序里去掉SD卡的初始化程序,将sdcard.c中INIT_DEVICE_EXPORT(rt_hw_sdcard_init);此语句注释掉,在shell.c文件放在finsh_system_init(void)里面去调用rt_hw_sdcard_init,问题竟然解决了。至于根本原因,目前还不得而知。


2. 加入ucgui后rtt的线程被阻塞,经过查找发现
GUI_X_Delay和GUI_Delay阻塞了线程,将函数修改成下面问题解决
void GUI_X_Delay(int ms) {
        GUI_TOUCH_Exec();
rt_thread_delay(ms);
}


void GUI_Delay(int Period) {
  int EndTime = GUI_GetTime()+Period;
  int tRem; /* remaining Time */
  GUI_ASSERT_NO_LOCK();
    GUI_Exec();
    GUI_X_Delay(Period);
}


回复 支持 0 反对 1

使用道具 举报

  离线 

1

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-11-18
在线时间
9 小时
 楼主| 发表于 2017-11-18 19:19:55 | 显示全部楼层
移植的话需要修改以下文件
Tiky_LCD.c 液晶屏硬件驱动程序
touch_CTP.c  电容触摸屏驱动文件
LCDNull.c ucgui与液晶屏 接口文件
void LCD_L0_SetPixelIndex(int x, int y, int PixelIndex)
{
        DrawPixel(x,y,PixelIndex);
}

unsigned int LCD_L0_GetPixelIndex(int x, int y)
{
        return(GetPoint(x,y));
}
这两个函数必须实现 lcd画点函数

剩下的函数可选
不实现的话 ucgui就用画点函数实现所有 速度不咋的
GUI_X.c 需要保证OS_TimeMS不断增加
我放在了rt thread的 tick里了 每个tick加1
LCDConf.h

修改
#define LCD_XSIZE          (800)
#define LCD_YSIZE          (480)
分辨率
回复 支持 反对

使用道具 举报

  离线 

1

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-11-18
在线时间
9 小时
 楼主| 发表于 2017-11-18 19:24:27 | 显示全部楼层
视频链接: https://pan.baidu.com/s/1ge61qUJ 密码: sh7n
回复 支持 反对

使用道具 举报

  离线 

116

主题

7627

帖子

12

精华

资深版主

Rank: 8Rank: 8

积分
11180
金钱
11180
注册时间
2013-9-10
在线时间
366 小时
发表于 2017-11-18 19:39:29 | 显示全部楼层
牛逼了
回复 支持 反对

使用道具 举报

  离线 

1

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-11-18
在线时间
9 小时
 楼主| 发表于 2017-11-18 19:52:35 | 显示全部楼层
搜狗截图17年11月18日1950_1.png

内存卡挂载在 "/"
25Q64挂载在"/dev"下
回复 支持 反对

使用道具 举报

  离线 

1

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-11-18
在线时间
9 小时
 楼主| 发表于 2017-11-27 09:52:36 | 显示全部楼层
1.修复 finsh组件与SD卡的冲突.
2.修复rtt 与ucgui的任务调度冲突.

搜狗截图17年11月27日0951_1.png
上传不了附件
链接: https://pan.baidu.com/s/1dFuAM9z 密码: ynwq
回复 支持 反对

使用道具 举报

  离线 

2

主题

4

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2016-5-23
在线时间
1 小时
发表于 2017-12-26 10:12:36 | 显示全部楼层
没有ucgui
回复 支持 反对

使用道具 举报

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

本版积分规则




关闭

报名原子哥新品发布会&粉丝见面会上一条 /1 下一条

正点原子公众号

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-10-15 17:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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