返回列表 发新帖我要提问本帖赏金: 30.00元(功能说明)

[G32A] 【极海G32A1465测评】开箱+点灯+点亮OLED

[复制链接]
 楼主| gtbestom 发表于 2024-12-18 14:55 | 显示全部楼层 |阅读模式
本帖最后由 gtbestom 于 2024-12-18 15:01 编辑

【开箱】

极海 G32A1465 开发板使用 G32A1465UAT0MLL 芯片
基于 ARM Cortex M4F 内核,主频 112M,Flash 1M,RAM 128K
片上资源已经足够满足很多应用
美中不足的是缺少 USB,SDIO,RGB,DVP,ETH 等接口,但是作为一个车规控制芯片,这些场景很少使用

这款开发板包装精致,设置也很合理

1.jpg

2.jpg

【板载资源介绍】

板载 电位计x1、RGB三色灯x1、用户KEYx2、CAN收发器x1、LIN收发器x1、USB转串口x1

【开发工具和环境】


支持 Keil、IAR 开发工具
使用 Keil 需要安装 pack 包,然后使用极海官方提供的 Library 就可以进行开发了
官方也提供了很多示例工程供参考,觉得麻烦可以直接拷贝一个工程修改下就能开发需要的功能了
由于是 ARM 内核,可以使用 J-LINK、DAP-LINK、ST-LINK 等众多调试工具

【点灯】

官方提供了点灯例程,路径在 \G32A1xxx_SDK_V1.1\Examples\G32A1465\PINS\PINS_Led
直接编译就可以使用了,
硬件连接如下:
3.png
值得注意的是,跟 STM32 等芯片不同,极海单片机 GPIO 每组引脚不止 0~15,而是支持 0~17 个引脚
配置引脚方式也有很大差异,官方代码如下:

4.png

【点亮OLED显示屏】

极海 G32A1465 支持硬件 I2C,这里偷个懒,不想使用繁琐的跳线,直接在开发板上找到了适合直接接 OLED 显示屏的引脚,如下:

5.png

直接插上 OLED 显示屏即可

3.jpg

由于 PA12、PA13 不是 I2C 引脚,这里使用 IO 模拟 I2C 通信
需要注意的是,极海 G32A1465 模拟引脚不支持开漏输出,设置输出时是推挽输出,所以在 I2C 模拟通信中,需要切换 IO 输入输出状态
设置为输出 PINS_SetPinDir(GPIOA, 13, 1U);
设置为输入 PINS_SetPinDir(GPIOA, 13, 0U);
其他跟普通单片机 IO 口驱动没有区别
驱动代码如下:
  1. void OLED_SSD1306_Init(void)
  2. {
  3.     u8 i;
  4.     OLED_SSD1306_IIC_Init();
  5.     for (i=0; i<sizeof(OLED_SSD1306_CONFIG_TABLE); i++)
  6.     {
  7.         OLED_SSD1306_W_CMD(OLED_SSD1306_CONFIG_TABLE[i]);
  8.     }
  9. }
  1. void OLED_SSD1306_CLEAR(u8 color)
  2. {
  3.     u8 i;
  4.     for(i=0; i<8; i++)
  5.     {
  6.         OLED_SSD1306_SetXY(0, i);
  7.         OLED_SSD1306_FillnB(color, 128);
  8.     }
  9. }
  1. void OLED_SSD1306_Draw(void* buf, u8 x, u8 page, u8 w, u8 h)
  2. {
  3.     u8 i, *img;
  4.     img = buf;
  5.     for(i=0; i<(h>>3); i++)
  6.     {
  7.         OLED_SSD1306_SetXY(x, (u8)(page+i));
  8.         OLED_SSD1306_WritenB(0x40, img, w);
  9.         img+=w;
  10.     }
  11. }


【动态OLED显示屏】

驱动 OLED 只是应用的第一步,很多场景下,需要显示屏有不同的动态效果,例如显示动态波形,图像
这里开辟一块 10K 的缓存给 OLED 进行绘制使用,1K 也是够的,但是极海 G32A1465 资源这么丰富,使劲狠狠浪费

设计一个内存分配代码来动态申请内存:
6.png

设计一个图像管理代码来管理图像信息:
7.png

设计一个画布操作代码,来绘制图形:
8.png

然后调用这些函数进行绘制:
9.png

效果视频如下:

打赏榜单

21ic小管家 打赏了 30.00 元 2025-01-21
理由:优质评测

沉浮的茶叶 发表于 2024-12-18 15:01 | 显示全部楼层
代码可以发一下吗。想要这个图像管理部分的
时光迷宫 发表于 2024-12-19 09:46 | 显示全部楼层
我也想要这个图像管理和动态内存的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

114

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部