最近可真是怠惰啊- -TFT屏幕显示二维码的教程

最近真的好怠惰- -基本上软件是一点没学,板子只画了一点点,一点没焊- -

最近在学习怎么在TFT上显示二维码,本来想着有库的话应该挺简单.结果一捣鼓(加摸鱼)就花了两个星期- -而且说到底到现在也不太知道为什么就成了…把我个人的学习经历发出来以供大佬提建议!
话说CSDN还有真人吗.有没有别的论坛介绍一下啊.为什么大家都不评论呢.
嘛.先介绍我的硬件设备:

硬件准备:

1.MCU:GD32F407VET6(LC同款天空星)
2.1.8寸的TFT屏幕一个
3.杜邦线若干

软件准备:

1.二维码开源库:链接: GITHUB_QrCode
2.大佬的参考案例:链接: B站始余欢大佬

思路和做法

一开始我想着应该直接用C语言的malloc函数就行.结果完全不行啊.会出现这种情况.
在这里插入图片描述
可以看出三个用于定位的回字只剩下一个了.扫码也扫不出来什么.
说到这.还有一个问题- -就是GD32的SPI不知道为什么会变成这样
(下面这张图要感谢群里的盐藻大佬帮我抓的时序!)
在这里插入图片描述
而正常的时序应该是这样的(ST7735)
在这里插入图片描述
可以看到SPI还没发送完CS就开始拉高了.结果就是屏幕根本没接收到发送的数据.
我仔细看了LC方面提供的源码(因为这个屏幕是从之前做示波器那里拆下来的),发现这里没加阻塞函数.所以导致没发送完就执行下一句了.解决办法也很简单.加一个阻塞语句判断发送为空就行。

//SPI_FLAG_TRANS: transmit on-going flag
while(spi_i2s_flag_get(SPI1,SPI_FLAG_TRANS) == SET);   

好哦说回正题.
这个二维码库的话用系统自带的MALLOC函数是不行的.而且是大大的不行.会乱码.
但是好在GD32有自己的动态函数库.(虽然我也不知道哪里来的.但是大佬的代码里有)
所以现在的文件框架如下:
在这里插入图片描述
现在再生成二维码就可以了.

在这里插入图片描述
代码放在这里
链接: TFT屏幕显示二维码
在这里插入图片描述
接线图如上。
对了对了,请大家来加加我这个Q群吧。群号:985199414,我什么都会做的!

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值