社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 3655|回复: 20

[原创] 正在移植TFT显示部分,现在已经正常了,可以使用py操作屏幕了。。

[复制链接]

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-1-13 22:45:33 | 显示全部楼层 |阅读模式
本帖最后由 yjwpm 于 2017-1-14 13:50 编辑

正在移植2.8“TFT(240x320)显示部分,可能还需要一段时间,正在调试中。。。显示的驱动ILI9341使用的是FSMC接口驱动。。。目前显示不正常,但是已经可以正常清屏了。。。
请修改签名 ^_^


回复

使用道具 举报

6833

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2017-1-13 23:19:43 | 显示全部楼层
支持楼主的工作。

如果速度要求不高,用micropython的SPI方式应该就行。如果速度要求高,可能需要写一个底层驱动,嵌入micropython,使用时在import就可以。

点评

目前使用的是并口方式FSMC,其实要求并不高,只是我目前手里的板子只支持FSMC方式,底层驱动已经写好,有待调试。。。目前正在调试中。。  详情 回复 发表于 2017-1-13 23:25


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-13 23:25:41 | 显示全部楼层
dcexpert 发表于 2017-1-13 23:19
支持楼主的工作。

如果速度要求不高,用micropython的SPI方式应该就行。如果速度要求高,可能需要写一个 ...

目前使用的是并口方式FSMC,其实要求并不高,只是我目前手里的板子只支持FSMC方式,底层驱动已经写好,有待调试。。。目前正在调试中。。
请修改签名 ^_^


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-13 23:43:24 | 显示全部楼层
目前还发先一个问题,就是stm32f405.ld中没有内部FLASH的空间定义,需要自己添加,否则虚拟出来的U盘可以看到,也能看到那四个文件,但是不能读写,里面的文件都是空的。

点评

有可能是文件系统的问题,可以试试恢复出厂设置,或者先整片擦除,然后在下载固件  详情 回复 发表于 2017-1-13 23:56
请修改签名 ^_^


回复

使用道具 举报

6833

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2017-1-13 23:56:34 | 显示全部楼层
yjwpm 发表于 2017-1-13 23:43
目前还发先一个问题,就是stm32f405.ld中没有内部FLASH的空间定义,需要自己添加,否则虚拟出来的U盘可以看 ...

有可能是文件系统的问题,可以试试恢复出厂设置,或者先整片擦除,然后在下载固件

点评

正在测试中,估计是你说的那个问题,我把FLASH重新规划了一下。等编译完成后,我在下载固件试试  详情 回复 发表于 2017-1-14 00:04


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-14 00:04:48 | 显示全部楼层
dcexpert 发表于 2017-1-13 23:56
有可能是文件系统的问题,可以试试恢复出厂设置,或者先整片擦除,然后在下载固件

正在测试中,估计是你说的那个问题,我把FLASH重新规划了一下。等编译完成后,我在下载固件试试,便宜有点慢,在SSD下速度还可以,但是在机械硬盘下就慢很多了。。。

点评

在Linux下的编译速度快很多,windows下可以用 -j8 选项加快速度  详情 回复 发表于 2017-1-14 06:34
请修改签名 ^_^


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-14 00:16:15 | 显示全部楼层
休息了,明天继续
请修改签名 ^_^


回复

使用道具 举报

6833

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2017-1-14 06:34:07 | 显示全部楼层
yjwpm 发表于 2017-1-14 00:04
正在测试中,估计是你说的那个问题,我把FLASH重新规划了一下。等编译完成后,我在下载固件试试,便宜有 ...

在Linux下的编译速度快很多,windows下可以用 -j8 选项加快速度

点评

好的,谢谢,我一会试试  详情 回复 发表于 2017-1-14 09:02


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-14 09:02:41 | 显示全部楼层
dcexpert 发表于 2017-1-14 06:34
在Linux下的编译速度快很多,windows下可以用 -j8 选项加快速度

好的,谢谢,我一会试试
请修改签名 ^_^


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-14 11:24:45 | 显示全部楼层
IMG_20170114_111941.jpg 可以显示字符了,但是镜像了,清屏也出现问题了,只能清屏3/4.继续调试。。。。。。
请修改签名 ^_^


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-14 11:43:14 | 显示全部楼层
本帖最后由 yjwpm 于 2017-1-14 11:48 编辑

IMG_20170114_114032.jpg
IMG_20170114_114614.jpg

移植完成,TFT屏显示正常,下一步开始测试py的语言,看看是否能正常,目前底层驱动已经正常。。。

请修改签名 ^_^


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-14 13:48:05 | 显示全部楼层
本帖最后由 yjwpm 于 2017-1-14 20:17 编辑

现在已经可以正常 import 了,可以正常的通过 py 语言操作屏幕了。。

py代码如下:
# main.py -- put your code here!

import pyb

def clock():
    h,m,s = 0, 0, 0
    while True:
        s= (s+1)%60
        if s==0:
            m = (m+1)%60
            if m==0:
                h = (h+1)
        print("%02d:%02d:%02d" % (h, m, s))
        pyb.delay(1000)


lcd = pyb.LCD()
x = y = 0.0
dx = 1.0
dy = 0.31831
lcd.fill(0)
cnt=0
xSize = 240
ySize = 320
lim = 0.3

while True:
    # update the dot's position
    x += dx
    y += dy

    # make the dot bounce of the edges of the screen
    if x <= 0 or x >= xSize:
        dx = -dx
    if y <= 0 or y >= ySize:
        dy = -dy
    frac = float(cnt)/(ySize*xSize)
    col = int(256.0*frac/lim)*2**16+256*int(256*(1.0-frac/lim))+int(256*(1.0-frac/lim))
    lcd.pixel(int(x), int(y), int(col))          # draw the dot
    pyb.delay(2)               # pause for 50ms
    cnt+=1
    if frac>lim:
        lcd.fill(0)
        cnt=0
    #lcd.pixel(x, y, 0)          # undraw the dot
    #lcd.write("%3.1f" % frac, 10,10, 1)

效果图:
IMG_20170114_200108.jpg

评分

1

查看全部评分

请修改签名 ^_^


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-14 13:51:42 | 显示全部楼层
在国内不知道我是不是第一个,使用micropython驱动FSMC方式的2.8“TFT(240*320)
请修改签名 ^_^


回复

使用道具 举报

6833

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2017-1-14 22:39:28 | 显示全部楼层
等你开源了

点评

调试好了就开源,还剩下图片显示不正常。。。  详情 回复 发表于 2017-1-15 23:05


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-15 23:05:31 | 显示全部楼层

调试好了就开源,还剩下图片显示不正常。。。

点评

到时候也可以像官方那样,搞一个LCD扩展板  详情 回复 发表于 2017-1-15 23:08
请修改签名 ^_^


回复

使用道具 举报

6833

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2017-1-15 23:08:10 | 显示全部楼层
yjwpm 发表于 2017-1-15 23:05
调试好了就开源,还剩下图片显示不正常。。。

到时候也可以像官方那样,搞一个LCD扩展板

点评

这个倒是可以搞一下就是I/O多一些,不过也可以把驱动搞成SPI接口的,这样吧,我先把SPI接口的开源吧,那个是别人写的。  详情 回复 发表于 2017-1-15 23:11


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-15 23:11:11 | 显示全部楼层
dcexpert 发表于 2017-1-15 23:08
到时候也可以像官方那样,搞一个LCD扩展板

这个倒是可以搞一下就是I/O多一些,不过也可以把驱动搞成SPI接口的,这样吧,我先把SPI接口的开源吧,那个是别人写的。

点评

这个是基于STM32F429的,解压后把lcdctrl文件夹复制到stmhal文件夹中,在修改相应的文件即可。。  详情 回复 发表于 2017-1-15 23:13
请修改签名 ^_^


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-15 23:13:48 | 显示全部楼层
yjwpm 发表于 2017-1-15 23:11
这个倒是可以搞一下就是I/O多一些,不过也可以把驱动搞成SPI接口的,这样吧,我先把SPI接口的开源吧,那 ...

lcdctrl.zip (68.24 KB, 下载次数: 34)
请修改签名 ^_^


回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-3-2 18:04:31 | 显示全部楼层
yjwpm 发表于 2017-1-15 23:13
这个是基于STM32F429的,解压后把lcdctrl文件夹复制到stmhal文件夹中,在修改相应的文件即可。。

楼主,429是不是和427通用啊? 我看st把DATAsheet都搞一起。

你这个有编译好的么? 我想用在427vit6上面。谢谢!

能否发一个固件我试试。YGM139@139.com


回复

使用道具 举报

401

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-3-7 10:50:12 | 显示全部楼层


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-7-19 17:51 , Processed in 0.536633 second(s), 18 queries , Gzip On, Redis On.

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