找回密码
 立即注册
查看: 6060|回复: 19

【开源】GUI-OLED12864: U8g2/OLED12864 for STC32G12K128

[复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:99
  • 最近打卡:2025-04-30 14:12:35

19

主题

217

回帖

1805

积分

版主

STC

积分
1805
发表于 2023-3-22 14:18:38 | 显示全部楼层 |阅读模式
本帖最后由 国学芯用 于 2023-3-22 14:22 编辑

GUI-OLED12864: U8g2/OLED12864 for STC32G12K128 ,支持流行的 OLED-128*64, 目前已移植到有 DMA 支持的 I2C, 正在移植到有DMA 支持的高速SPI上,后续还会继续加入FreeRTOS的支持 ,详细程序在本例程包的第24个程序, 24-STC32_U8G2_I2C_DMA_OLED 中。

OLED-12864, 需要显示缓存 1024字节 = 128 * 8 * 8;STC32G12K128 的 DMA 理论缓冲区xdata 8M 字节, 实际 8K 字节,可预先开辟 8个完整缓冲区;
STC32G12K128的 CPU紧耦合单时钟访问的 edata 是 4K字节,与 DMA 缓冲区 xdata 无需时序竞争仲裁;
STC32G12K128 的 DMA 支持 并行总线 i8080/M6800, 支持串行总线 SPI/I2C;
SPI 速度 是 SPI的时钟输入源/2, 受限于 I/O口的速度,实际SPI可到24M bps 以上;
I2C 速度 是 CPU的时钟输入源/8, 实际I2C可到4M bps 以下!
在使用 OLED-12864 时,请充分发挥STC32G12K128的DMA对串口/并口屏 OLED-12864 的优化刷新支持

STC32G12K128-LQFP64-DIP64-DEMO-CODE.ZIP

43.88 MB, 下载次数: 388

电话:0513-55012982、18106296593 (微信同)
QQ : 1347154513
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-3-25 18:00:09 | 显示全部楼层
曲高和寡
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:102
  • 最近打卡:2025-04-17 01:04:20
已绑定手机

6

主题

57

回帖

208

积分

中级会员

积分
208
发表于 2023-6-7 23:19:02 | 显示全部楼层

已经通过GitHub源码那里下载了原作者对应的代码,然后根据说明改了SPI+DMA控制12864的OLED,跑图有效但是速度很快。
近期新版的U8G2已经追加了对SSD1322(16级灰度256×64 OLED)的支持了,在琢磨怎么移植U8G2并实现硬件I8080接口控制方法,
因为GitHub原页全英文,而且我还需要给自己编写速查手册,直接拉高了移植难度。

点评

可以,有第三方 爱好者 有这个 并口 OLED12864 销售: 1,支持 普通 8051并口; 2,支持 i8080并口; 3, 支持 M6800并口 第三方 SPI/I2C/并口 OLED12864,STC开源示波器配套 TFT 销售淘宝店 :https://KCER001.tao  详情 回复 发表于 2024-5-19 09:14
STC存在的意义?
凡夫俗子也能创造 弑神诛仙 的奇迹。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-6-8 06:55:42 | 显示全部楼层

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-6-8 07:02:09 | 显示全部楼层

最新的 GUI-OLED12864-U8g2 for STC32G12K128, DMA 支持,从这下载
1.png

2.png

参考第30个程序包
3.png
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-6-8 07:02:42 | 显示全部楼层
本项目将Arduino 中常用的图形库U8g2,移植入STC32 中。

# 使用注意事项

1. 在处理的时候需要注意 不要绘制到屏幕以外的区域,否则可能导致设备跑飞
2. 目前没有适配SPI驱动
3. 使用STClink1D时,在下载完程序需要手动复位单片机(PS:单片机的复位IO 需要在ISP中进行使能才可使用)
4. 本工程仅在STC32G12K128Beat LQFP64 上进行了测试,如有bug请issues me。
5. IO分配:

IIC 模式:

| 引脚名 | 引脚编号 |
| ------ | -------- |
| SCL    | P1.5     |
| SDA    | P1.4     |
| RST    | P2.0     |

SPI模式:

| 引脚名 | 引脚编号 |
| ------ | -------- |
| CS     | P2.2     |
| CLK    | P2.5     |
| MISO   | P2.4     |
| MOSI   | P2.3     |
| RST    | P2.0     |
| DC     | P2.1     |

注: IIC 模式下如果没有RST引脚可不接。

# 程序测试:

在默认的工程中添加了一个测试Demo,演示了文字显示和图像显示信息。

![img](Images/graphic_test.gif)

注:程序默认使用内部11.0592MHz晶振。

# 代码使用注意事项

## 1. 字体的切换和使用方法

因Keil 80251 编译器不支持将未使用的代码不编译到Bin文件中,因此不是用的字库文件默认是进行屏蔽处理的。在使用时候请参考[u8g2Wiki fonts](https://github.com/olikraus/u8g2/wiki/fntlist8x8) 介绍对相应字体进行解除屏蔽,相应的不是用的字体也要进行屏蔽操作,以节约ROM占用。操作方法如下:
1. 首先打开`u8g2.h` 文件,将需要使用的字体声明使用`#if`和`#endif`解除屏蔽。
![image-20220806210942809](Images/font_set1.png)
2. 打开`u8g2_fonts.h`文件,使用上一步的方法对需要使用的字体的定义进行解除屏蔽。
![image-20220806213500158](Images/font_set2.png)

## 2. 不同型号屏幕的使用

U8g2 的强大之处在于内部集成了诸多的点阵屏驱动,我们可以不用在编写繁琐的屏幕驱动,而专心于应用逻辑的开发。具体的屏幕支持情况可以参考[u8g2setupcpp · olikraus/u8g2 Wiki(github.com)](https://github.com/olikraus/u8g2/wiki/u8g2setupcpp#st7920-128x64)

如要使能一款驱动芯片仅需在`u8g2.h`的631行-1367行中将其注释解除,并且在`u8g2_d_setup.c`中对其定义也解除屏蔽即可。

注:目前我只适配测试IIC驱动后面将会添加SPI低层驱动的支持

## 3. API的使用

相关API的使用可以参考官方介绍:

[u8x8reference · olikraus/u8g2 Wiki(github.com)](https://github.com/olikraus/u8g2/wiki/u8x8reference)

## 4. SPI IIC 驱动的切换

在驱动使用过程中可以通过选择IIC宏和SPI宏的形式切换驱动(同时可以将DMA功能开启)。

![image-20220821172903653](Images\define_set.png)

![image-20220821173005194](Images\define2_set.png)

注: SPI和IIC 功能不可同时开启



回复 支持 反对

使用道具 举报 送花

0

主题

10

回帖

62

积分

等待验证会员

积分
62
发表于 2024-5-17 20:19:01 | 显示全部楼层
请问现在SPI屏幕支持了吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-05-01 09:54:52
已绑定手机

19

主题

3190

回帖

4866

积分

论坛元老

积分
4866
发表于 2024-5-17 22:38:34 | 显示全部楼层
u8g2支持的都可以用不错啊
回复 支持 反对

使用道具 举报 送花

0

主题

10

回帖

62

积分

等待验证会员

积分
62
发表于 2024-5-19 08:56:59 | 显示全部楼层
试了SPI能用了。厉害,给大神点赞。
还想问一下这个工程里面好像没有看到中文字体文件,我记得ARDUINO里面是有中文字体的,STC 这个能支持吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2024-5-19 09:10:11 | 显示全部楼层
截图202405190909024737.jpg

截图202405190910068294.jpg

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 04:20 , Processed in 0.151166 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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