Rain_Personal
发表于 2024-5-21 13:53:53
浦江一水 发表于 2024-5-21 07:41
谢谢楼上坛友的浏览回复.
不知"滚屏"是如何定义?看一下6楼的视频, 算不算是"滚屏"了?...
谢谢,博主的提醒,等回去研究看看代码,优秀{:5_332:}
科学妞妞
发表于 2024-5-29 07:00:24
需要STC32G驱动tft彩屏的,用普通IO模拟SPI或硬件SPI接口方式+双页显示
浦江一水
发表于 2024-5-29 15:04:27
科学妞妞 发表于 2024-5-29 07:00
需要STC32G驱动tft彩屏的,用普通IO模拟SPI或硬件SPI接口方式+双页显示
有关STC32G驱动TFT彩屏的,后续即将发出,不过可能不会是双页显示的。
因为彩色屏使用显示缓存较大,STC32G单片机的RAM和主频都有限。
科学妞妞
发表于 2024-5-30 14:32:10
浦江一水 发表于 2024-5-29 15:04
有关STC32G驱动TFT彩屏的,后续即将发出,不过可能不会是双页显示的。
因为彩色屏使用显示缓存较大,STC3 ...
盼,加油,点赞
晨露
发表于 2024-5-31 08:37:25
这几天在学习OLED,结果看到程序中的图片中那些代码,在头文件中也没有,在程序的申明中也没有,好像所有人都是直接用,我想请教一下,类似于图片中的这些代码不需要申明,可以直接用吗?
浦江一水
发表于 2024-5-31 08:47:57
科学妞妞 发表于 2024-5-30 14:32
盼,加油,点赞
最近即将发出的是《基于STC32G12K128实验箱之TFT彩屏驱动》,现在正在做最后检查调试和验证。
关于“STC32G驱动TFT彩屏”, 其实在我的《实验 STC32G12K128 自制实验板驱动彩色显示屏》一题文章已有介绍。位于本论坛【学习打卡区|感悟】版块的《新手学用STC32G12K128, 实践与思考(都是干货,盖楼砖瓦,实用基础) 》一帖的第22楼,主要源码也已给出的。这位坛友也可先参考一下。
另外,TFT彩屏因内部芯片不同,接口不同,驱动也是不同的。不知这位坛友需要具体是什么样的TFT驱动,比如基于哪个电路板、哪个彩屏模块。如果能说明具体点,那么回复您的可能是更贴切实用一些。
科学妞妞
发表于 2024-5-31 09:20:59
本帖最后由 科学妞妞 于 2024-5-31 09:34 编辑
浦江一水 发表于 2024-5-31 08:47
最近即将发出的是《基于STC32G12K128实验箱之TFT彩屏驱动》,现在正在做最后检查调试和验证。
关于“STC ...基于屠龙刀板子
屏是1.8128*160RGB-TFT ic:ST77358,
目前,常见的一种显示屏,网络上有很多stc8位的驱动,就是没stc32G的,可难为我们这些爱好者了,
浦江一水
发表于 2024-5-31 09:52:25
ryj870925 发表于 2024-5-31 08:37
这几天在学习OLED,结果看到程序中的图片中那些代码,在头文件中也没有,在程序的申明中也没有,好像所有人 ...
试着回复一下这位坛友的提问...
截图给出的是三句写命令字节的函数.意思是一样的,以第一句为例:
OLED_WR_Byte(0xB0+y,OLED_CMD);
这是一个写字节数(Byte)的函数,带有两个参数,
第一个参数是需要写入的一个字节数, 比如0xB0+y,它取值范围是0--0xFF,如果有溢出,则仅保留低8位.
第二个参数是说明前面字节数属于命令还是数据的标志参数.比如OLED_CMD,说明前面是字节数是命令字.
在执行到OLED_WR_Byte(0xB0+y,OLED_CMD)此语句之前, 肯定是(一定的)有过关于OLED_WR_Byte(...)函数实现给出的.
比如: void OLED_WR_Byte(unsigned char byte, unsigned char md); 之类的.
如果仅仅是在本模块内使用, 那就不需要在头文件中说明, 此后就可以直接使用的.
一般放在头文件中说明的, 是允许被外部模块调用的函数.
另外, 由于各人的逻辑思维有所不同,对于这样的函数写法, 本人是有不同看法的.
所以在本人的实验程序中,已经对此改写,分为两个函数: (可看一下本帖2楼源代码写法)
void OLED_WR_CMD(unsigned char Cmd);
void OLED_WR_DAT(unsigned char Dat);
只带有一个参数, 这样个比较简洁,
因为仅仅是在SS1306.C模块内部使用的函数, 所以不一定要在头文件中说明.
也因为这两个函数写在SS1306.C文件中排列在较前面, 所以后面的函数就可直接调用.
上述截图三句语句, 就可以改成这样写:
OLED_WR_CMD(0xB0+y);
OLED_WR_CMD(0x00);
OLED_WR_CMD(0x10);
这样源程序比较简洁, 一看就知道, 是在写命令, 没有必要在每次写出一个字节数时, 都带有是命令还是数据的标志参数.
(这没有对错,仅仅是个人思维和习惯不同)
仅供参考.
晨露
发表于 2024-5-31 10:22:22
浦江一水 发表于 2024-5-31 09:52
试着回复一下这位坛友的提问...
截图给出的是三句写命令字节的函数.意思是一样的,以第一句为例:
我其实是小白一个,还没学到参数的用法,现在的困惑就是类似于OLED_WR_Byte()的用法,看到您说的在SS1360.C中有写,主要是我下载的例程都没有看到这个.C,我再找找吧,谢谢啦
晨露
发表于 2024-5-31 10:23:39
浦江一水 发表于 2024-5-31 09:52
试着回复一下这位坛友的提问...
截图给出的是三句写命令字节的函数.意思是一样的,以第一句为例:
是这一句吗?{:handshake:}
#define OLED_CMD0