找回密码
 立即注册
查看: 197|回复: 7

使用擎天柱开发板来利用STC IDE + STC AI 助手驱动OLED显示16点阵汉字

[复制链接]

8

主题

29

回帖

2916

积分

金牌会员

积分
2916
发表于 2026-9-1 16:34:38 | 显示全部楼层 |阅读模式
前段时间,看到STC发布了 STC IDE,也有了 STC AI助手。后面又发布了 DeepSeek Harness + STC32-IDE C11编译器 深度融合插件 因为DSH本身还不是很稳定,就先保守一点,用STC IDE + STC AI 助手先来使用一下。
因为手头有一块OLED屏模块,方便,同时测试起来也直观,因此就用擎天柱来驱动OLED显示16点阵汉字来作为测试题目。
先做好准备工作,焊接好擎天柱的排针,连接上OLED模块,也就是4根杜邦线:VCC、GND、SCL、SDA,这里SCL连接的是P2.4,SDA连接的是P2.3。
截图202609011629411354.jpg
先给STC AI助手一些条件,让它先写一个程序看看:
使用擎天柱 AI8051U,连接IIC的OLED屏SS,D1306 OLED(128x64),显示16点阵汉字,用STC IDE编译。
它按照步骤工作,先给出了接线表格:
截图202609011647522522.jpg
然后分别给出了IIC初始化及基础驱动、SSD1306初始化、16点阵汉字显示原理、16点阵汉字数据:
截图202609011650121884.jpg

最后给出了主程序:

然后,我们将这些程序组合起来,按编译,必须夸的是,STC IDE的编译速度真的是秒过呀!
然后下载编译好的HEX,烧录到擎天柱中,就可以查看运行结果了。


然后,黑屏无显示!
这样就需要你自己一步步来调试了,所以完全依赖AI也是不行的。
如果有爱好都对这个调试过程感兴趣,留言给我,我一步步来说明一下。反正申明一下,我是调试通过,正常显示了的!





截图202609011652207484.jpg
截图202609011652511709.jpg
截图202609011654141973.jpg
截图202609011655193562.jpg
截图202609011656488351.jpg
截图202609011704111966.jpg
截图202609011705088249.jpg
回复

使用道具 举报 送花

已绑定手机

52

主题

2901

回帖

3035

积分

荣誉版主

积分
3035
发表于 2026-9-18 13:47:54 | 显示全部楼层
点屏成功了吗,有没有效果图
睁开眼睛做场梦~~~
回复

使用道具 举报 送花

49

主题

611

回帖

5448

积分

荣誉版主

积分
5448
发表于 2026-9-18 15:45:48 | 显示全部楼层
如果按照上面截图里AI生成的那些代码,即便硬件I2C调试通过,大概率显示也不会成功

首先,根据注释的说明,显示汉字的函数 ShowHZ16 是按照【列行式】的顺序进行显示的,
即 先在第一个page显示前16个数据,然后再下面一个page显示后16个数据
而按照生成的字库数组的说明,“横向取模,每行2字节”,说明是按照【逐行式】的顺序进行取模的

因此显示出来的必然是乱码。


其次,通过对比,字库数组里的那些数据,既不是逐行式取模的,也不是列行式取模的

比如“芯”这个字


按照函数 ShowHZ16 说明的顺序,进行列行式取模,低位优先。得到的结果是
0x00,0x04,0x04,0x04,0x04,0x1F,0x04,0x24,
0x44,0x84,0x04,0x1F,0x04,0x04,0x04,0x04,
0x00,0x10,0x08,0x06,0x00,0x00,0x3F,0x40,
0x40,0x40,0x40,0x40,0x70,0x01,0x02,0x0C,

而按照字库数组说明的顺序,进行逐行式取模
高位优先,结果是
0x04,0x10,0x04,0x10,0x7F,0xFF,0x04,0x10,
0x04,0x10,0x01,0x00,0x00,0x80,0x00,0x40,
0x02,0x04,0x12,0x02,0x12,0x01,0x22,0x01,
0x42,0x08,0x02,0x08,0x01,0xF8,0x00,0x00,

低位优先,结果是
0x20,0x08,0x20,0x08,0xFE,0xFF,0x20,0x08,
0x20,0x08,0x80,0x00,0x00,0x01,0x00,0x02,
0x40,0x20,0x48,0x40,0x48,0x80,0x44,0x80,
0x42,0x10,0x40,0x10,0x80,0x1F,0x00,0x00,

而截图里的数据却是
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x04,
0x10,0x04,0x08,0x08,0x08,0x08,0x04,0x10,
0x04,0x10,0x02,0x20,0x01,0x40,0x02,0x20,
0x04,0x10,0x18,0x0C,0x00,0x00,0x00,0x00,


使用STC文字取模工具的反查功能,对这组数据进行查看,结果也确实不是“芯”这个字(不过图案还挺可爱)
截图202609181549543941.jpg


期待楼主展示调试到成功显示的过程~~




能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
回复

使用道具 举报 送花

已绑定手机

11

主题

484

回帖

1362

积分

金牌会员

积分
1362
发表于 2026-9-18 16:30:39 | 显示全部楼层
图片打不开
回复

使用道具 举报 送花

8

主题

29

回帖

2916

积分

金牌会员

积分
2916
 楼主| 发表于 2026-9-19 09:56:07 | 显示全部楼层
晓*** 发表于 2026-9-18 13:47
点屏成功了吗,有没有效果图

成功了,可以用AI继续调试,会找到问题。你告诉他问题,他会一步步给方案。
回复

使用道具 举报 送花

8

主题

29

回帖

2916

积分

金牌会员

积分
2916
 楼主| 发表于 2026-9-19 09:56:39 | 显示全部楼层
大*** 发表于 2026-9-18 15:45
如果按照上面截图里AI生成的那些代码,即便硬件I2C调试通过,大概率显示也不会成功

首先,根据注释的说明 ...

对的,我抽空看看最后的方案。
回复

使用道具 举报 送花

8

主题

29

回帖

2916

积分

金牌会员

积分
2916
 楼主| 发表于 2026-9-19 13:47:29 | 显示全部楼层
大*** 发表于 2026-9-18 15:45
如果按照上面截图里AI生成的那些代码,即便硬件I2C调试通过,大概率显示也不会成功

首先,根据注释的说明 ...

能够实现的,可以用AI辅助一步步解决,再利用ISP里面的字库工具,找到合适的提取方式:

截图202609191331491714.jpg
IMG_20260919_132730.jpg
IMG_20260919_132730.jpg
截图202609191346186041.jpg
回复

使用道具 举报 送花

8

主题

29

回帖

2916

积分

金牌会员

积分
2916
 楼主| 发表于 2026-9-19 13:52:05 | 显示全部楼层
大*** 发表于 2026-9-18 15:45
如果按照上面截图里AI生成的那些代码,即便硬件I2C调试通过,大概率显示也不会成功

首先,根据注释的说明 ...

比如:
unsigned char code HZ_ZHONG[32] = {
        0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00,
    0x00,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00, /*'四',0*/

这是“四”的取模结果:
截图202609191359464739.jpg


回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-11-8 02:00 , Processed in 0.099388 second(s), 80 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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