迅维网

查看: 1301|回复: 0
打印 上一主题 下一主题

【NUCLEO-F412ZG试用体验】No.8 TFT使用

[复制链接]
跳转到指定楼层
1#
发表于 2016-12-27 10:09:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 山东青岛 来自 山东青岛

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
又是一篇显示的报告,上次是OLED,这次是TFT.
效果图

                               
登录/注册后看高清大图

这块TFT的来源是arduino的TFT,因为我玩过arduino,手上有个Mega2560,这个板子刚好兼容arduino的管脚位置,可以直接插上去。

                               
登录/注册后看高清大图

    插是直接插上去了,屏幕使用的8位并行控制方式。管脚就恶心了,arduino的D0-D7在这块板上确是混乱的,依次是
PF12    -    D0
PD15   -    D1
PF15    -    D2
PE13    -    D3
PE14    -    D4
PE11    -    D5
PF9      -    D6
PF13    -    D7
乱的不行不行的,这我的数据传送就麻烦了,还好这个屏幕都是控制没有读取,省掉不少功夫。
CubeMX生成初始代码。


                               
登录/注册后看高清大图

管脚配置,并且命名
      时钟不知道为什么只能用内部8M,内部不是说好的16M吗。反正没跑什么速度。就不管了。

                               
登录/注册后看高清大图

这里注意一下,管脚的初始化电平要配置一个比较重要的RD脚。

                               
登录/注册后看高清大图

初始电平配置为高
OK生成。
移植,修改接口代码。
  • void DATAOUT(unsigned char Data)
  • {
  •     HAL_GPIO_WritePin(TFT_D0_GPIO_Port,TFT_D0_Pin,Data&0x01);
  •     Data>>=1;
  •     HAL_GPIO_WritePin(TFT_D1_GPIO_Port,TFT_D1_Pin,Data&0x01);
  •     Data>>=1;
  •     HAL_GPIO_WritePin(TFT_D2_GPIO_Port,TFT_D2_Pin,Data&0x01);
  •     Data>>=1;
  •     HAL_GPIO_WritePin(TFT_D3_GPIO_Port,TFT_D3_Pin,Data&0x01);
  •     Data>>=1;
  •     HAL_GPIO_WritePin(TFT_D4_GPIO_Port,TFT_D4_Pin,Data&0x01);
  •     Data>>=1;
  •     HAL_GPIO_WritePin(TFT_D5_GPIO_Port,TFT_D5_Pin,Data&0x01);
  •     Data>>=1;
  •     HAL_GPIO_WritePin(TFT_D6_GPIO_Port,TFT_D6_Pin,Data&0x01);
  •     Data>>=1;
  •     HAL_GPIO_WritePin(TFT_D7_GPIO_Port,TFT_D7_Pin,Data&0x01);
  • }

[color=rgb(51, 102, 153) !important]复制代码

因为数据端口混乱,这里肯定花了不少处理运算。导致刷屏速度变慢。如果有高明的方法求告知。


                               
登录/注册后看高清大图

控制脚的接口配置
还有GUI.C和GUI.H包含进去。开始使用。
  •     LCD_Init();
  •     POINT_COLOR = YELLOW;
  •     LCD_ShowString(30,30,16,"hello world!",1);
  •     Show_Str(10,10,RED,BLUE,"HELLO WORLD!",16,0);
  •     LCD_DrawRectangle(50,50,90,90);
  •     LCD_Fill(150,50,190,90,YELLOW);
  •     Show_Str(140,100,GREEN,BLUE,"电子发烧友论坛@上官梦舞",16,1);
  •     Show_Str(100,120,RED,BLUE,"电子发烧友论坛@上官梦舞",24,0);
  •     Show_Str(60,150,CYAN,BLUE,"电子发烧友论坛@上官梦舞",32,1);

[color=rgb(51, 102, 153) !important]复制代码

完成哦,谢谢支持,后续还会更新。

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

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复