[APM32E0] 【APM32E030R Micro-EVB开发板评测】点亮OLED

[复制链接]
 楼主| 51xlf 发表于 2025-7-23 11:32 | 显示全部楼层 |阅读模式
这里使用的是IIC接口的OLED。0.96 寸 OLED 屏幕模块包括一个 0.96 英寸的 OLED 显示屏和四个引脚。
0.96OLED 参数:


驱动芯片:SSD1306
分辨率:128 × 64
显示尺寸:0.96英寸
外形尺寸:27.5 × 27.8(mm)
玻璃尺寸:26.7 × 19.26 × 1.4(mm)
显示区域:21.74(W)× 10.864(mm)
视角:全视角
工作电压:3.3V ~ 5V
工作温度:-20℃ ~ 70℃
存储温度:-30℃ ~ 80℃
使用寿命:>=16000 小时
支持接口:I2C

微信截图_20250723112629.png
驱动代码是卖家提供的,直接用来修改的。这里就不再粘贴了,某宝上随便一个卖家就有,使用模拟iic驱动的。
在APM32E030_SDK_V1.0.3\Examples\BOARD_APM32E030_TINY\GPIO\GPIO_Toggle基础上,增加一个BSP文件夹用来保存OLED的驱动代码。
微信截图_20250723112803.png
添加BSP的路径。
微信截图_20250723112837.png
这里使用的PB8和PB9两个引脚。
微信图片_20250723113132.jpg
  1. #define OLED_SCLK_Pin GPIO_PIN_8
  2. #define OLED_SCLK_GPIO_Port GPIOB
  3. #define OLED_SDIN_Pin GPIO_PIN_9
  4. #define OLED_SDIN_GPIO_Port GPIOB
  5. //-----------------OLED IIC端口定义----------------                                            

  6. #define OLED_SCLK_Clr() GPIO_ClearBit(OLED_SCLK_GPIO_Port,OLED_SCLK_Pin )//SCL  拉低
  7. #define OLED_SCLK_Set() GPIO_SetBit(OLED_SCLK_GPIO_Port,OLED_SCLK_Pin )  //SCL  拉高

  8. #define OLED_SDIN_Clr() GPIO_ClearBit(OLED_SDIN_GPIO_Port,OLED_SDIN_Pin )//SDA  拉低
  9. #define OLED_SDIN_Set() GPIO_SetBit(OLED_SDIN_GPIO_Port,OLED_SDIN_Pin )  //SDA  拉高
配置引脚为输出
  1.     GPIO_Config_T gpioConfig;

  2.     RCM_EnableAHBPeriphClock(OLED_SCLK_Pin | OLED_SDIN_Pin);
  3.     /* OLED_SCLK_Pin GPIO configuration */
  4.     gpioConfig.pin = OLED_SCLK_Pin;
  5.     gpioConfig.mode = GPIO_MODE_OUT;
  6.     gpioConfig.outtype = GPIO_OUT_TYPE_PP;
  7.     gpioConfig.speed = GPIO_SPEED_50MHz;
  8.     gpioConfig.pupd = GPIO_PUPD_PD;
  9.     GPIO_Config(OLED_SCLK_GPIO_Port, &gpioConfig);

  10.     /* OLED_SDIN_Pin GPIO configuration */
  11.     gpioConfig.pin = OLED_SDIN_Pin;
  12.     GPIO_Config(OLED_SDIN_GPIO_Port, &gpioConfig);
在main函数驱动:
  1.   OLED_Init();//初始化显示屏
  2.     OLED_Clear();
  3.     OLED_ShowString(0,0,(unsigned char*)"hello,GEEHY",16,1);//显示系统开始界面
  4.                 OLED_ShowString(0,16,(unsigned char*)"hello,21ic",24,1);
  5.                 OLED_ShowStringCN1(0,40,(unsigned char*)"自动",1);
来看看效果
微信图片_20250723113137.jpg
Gfan 发表于 2025-7-25 16:47 | 显示全部楼层
显示的文字很有意思噢,hello~
不想起床喵星人 发表于 2025-7-28 13:42 | 显示全部楼层
看起来你已经成功地将OLED屏幕与APM32E030R Micro-EVB开发板连接并显示了文字。这个0.96寸的OLED屏幕分辨率和视角都很不错,适合用于小型项目。
穷得响叮当侠 发表于 2025-7-29 17:02 | 显示全部楼层
看起来你的OLED屏幕模块已经成功点亮了,显示效果如何?字体清晰吗?
脑洞星球居民 发表于 2025-7-29 19:53 | 显示全部楼层
看起来你已经成功地将OLED屏幕与APM32E030R Micro-EVB开发板连接并显示了文字。SSD1306驱动芯片在这类项目中非常常见,你的设置和代码看起来都很标准。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

547

主题

9919

帖子

24

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