基于安信可科技Ai-M61开发板的0.96寸IIC单色屏移植教程
01、外设介绍
先来介绍下0.96寸OLED显示屏(驱动芯片:SSD1306 / SSD1315)[color=rgba(0, 0, 0, 0.87)],0.96寸OLED显示屏是一种小尺寸的有机发光二极管(OLED)显示屏,具有许多优点和特点。以下是对0.96寸OLED显示屏的介绍:
尺寸:0.96寸指的是显示屏的对角线尺寸,通常为0.96英寸(约24.4毫米),适合小型设备和紧凑空间。
分辨率:通常具有128x64像素的分辨率,可以显示清晰的图像和文本。
技术:采用OLED技术,每个像素都是自发光的,不需要背光,因此具有更高的对比度和更广的视角。
高亮度:OLED显示屏具有较高的亮度,即使在室外或明亮的环境下也能清晰可见。
低功耗:相比传统的液晶显示屏,OLED显示屏具有较低的功耗,可以延长电池寿命。
快速响应:OLED显示屏具有快速的响应时间,可以实现流畅的图像和动画效果。
色彩鲜艳:OLED显示屏可以呈现鲜艳、饱满的颜色,使图像更加生动逼真。
视角广:OLED显示屏具有广阔的视角,即使从不同的角度观看,图像仍然清晰可见。
薄型轻便:OLED显示屏采用薄型设计,重量轻,适合应用于便携式设备和可穿戴设备。
灵活性:某些OLED显示屏采用柔性基板制造,具有弯曲和弯折的能力,适用于柔性显示应用。
高对比度:OLED显示屏具有高对比度,黑色显示非常深黑,白色显示非常亮白,使图像更加清晰。
高刷新率:OLED显示屏具有高刷新率,可以实现流畅的视频播放和动态图像效果。
02、外设规格参数
工作电压:3.3V
工作电流:9MA
模块尺寸:27.3 x 27.8 MM
像素大小:128(H) x 64(V)RGB
驱动芯片:SSD1306
通信协议:IIC
管脚数量:4 Pin(2.54mm间距排针)
03、移植过程
keil stm32项目移植:
man.c事例代码移植
删除不用的代码。
#include "stm32f10x.h" // Device header
#include "Delay.h"
确少一个延时,功能一样直接调用博流的库,可以手动替换成bflb_mtimer_delay_ms,但是可以根据c语法,[color=rgba(0, 0, 0, 0.87)]在代码中添加以下宏定义:
#define Delay_ms(ms) bflb_mtimer_delay_ms(ms)
则无需修改任何代码。
oled.c i2c移植
OLED引脚初始化>>OLED_GPIO_Init,
I2C发送一个字节>>OLED_I2C_SendByte
iOLED写命令>>OLED_WriteCommand
OLED写数据>>OLED_WriteData
修改方法:直接复制sdk里面的i2c代码即可
经过分析。原先工程用的是软件模拟i2c,本次使用的硬件库的。
I2C发送一个字节>>OLED_I2C_SendByte这个不用移植,直接删掉。
iOLED写命令>>OLED_WriteCommand
OLED写数据>>OLED_WriteData
这里分析得出就是发送从机地址和命令。里面的函数都用不到,可以直接删除:
OLED_I2C_Start(); I2C起始
OLED_I2C_SendByte(0x78);
OLED_I2C_Stop(); //I2C终止
04、移植验证
这里介绍功能齐全-支持字符、数字、汉字、图像及各种绘图图形显示。
PS:代码非原创,只是移植到了Ai-M61,经验证代码无任何报错。
快速使用:解压修改Makefile文件BL_SDK_BASE ?=D:\test\boliu\bouffalo_sdk/
为自己的sdk路径即可#include "OLED.h"
/*OLED初始化*/
OLED_Init();
/*在(0,0)位置显示字符'A',字体大小为8*16点阵*/
OLED_ShowChar(0, 0, 'A', OLED_8X16);
/*调用OLED_Update函数,将OLED显存数组的内容更新到OLED硬件进行显示*/
OLED_Update();
只需要引用一个,就能方便调用了。
高级设置:OLED.c
OLED_GPIO_Init函数:OLED引脚初始化
只需要替换GPIO_PIN_0、GPIO_PIN_1,就可以修改自定义引脚
OLED_Data.c
注意:添加没有的中文字库,添加图像都在此,demo里面有详细的调用过程。
04、取模教程
一:配置软件,点设置然后按照如下设置。
二:生成字模。
三:安装格式。主要是删掉多余的,复制没有的即可。
效果如下:
05、常见问题汇总
移植纯c代码需要改的地方并不多,甚至原封不动的复制过来的man文件,仅仅是添加了文件头。一些常见问题汇总给大家作参考:
5.1文件找不到
打开CMakeLists.txt
添加文件包含,格式空格一个文件名
target_sources(app PRIVATE oled.c OLED_Data.c)
5.2编译器找不到路径
修改Makefile文件
BL_SDK_BASE ?=D:\test\boliu\bouffalo_sdk/
也可以直接修改为sdk的绝对路径,这样你项目的目录可以随便放在任何地方。
5.3数据类型找不到
引入c语言库能解决90%
#include <string.h>
#include <math.h>
#include <stdio.h>
#include <stdarg.h>
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自安信可科技公众号,原文标题为:【外设移植】0.96寸IIC单色屏Ai-M61开发板,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
Ai-BS21系列烧录指导——开发板or模组
本篇以Ai-BS21-32S_Kit为例指导烧录固件,这是由深圳市安信可科技有限公司开发的蓝牙星闪开发板。该模块核心处理器芯片Hi2821是一款高集成2.4GHzSoCBLE&SLE芯片,支持BLE5.4/SLE1.0,集成RF电路,RF包含功率放大器PA、低噪声放大器、TX/RXSwitch、集成电源管理等模块,支持1M/2M/4M3种带宽,最大支持12Mbit/s速率。
用Ai-WB2开发板做智能家居全彩LED小夜灯
介绍用Ai-WB2开发板做智能家居全彩LED小夜灯的方法及技术要求。
打卡智能家居之旅(5):Ai-WB2 使用HomeAssistant-C库接入HomeAssistant
之前所有写的《智能家居之旅》帖子代码都是基于Ai-M61来开发的,不少大佬跟我反馈说:Ai-M61/62只用来连接MQTT太浪费资源了,Ai-WB2更具性价比!我觉得有道理,所以昨天就把HomeAssistant-C 给做了一次大改,提升了耦合性,目前仓库的master分支也可以支持Ai-WB2了,现在,跟着我来试试吧!
低能耗、低时延、快速度,星闪开发板Ai-BS21-32S-Kit更多场景应用,邀您一起来探索!
万众期待的星闪开发板上架了!Ai-BS21-32S-Kit 低延迟,高效率!话不多说!先回顾下基本参数信息。
高性能开发板Ai-M61-32S-Kit助力Wi-Fi6+BLE5.3模组
Ai-M61-32S-Kit是针对Ai-M61-32S模组设计的开发板。Ai-M61-32S是由深圳市安信可科技有限公司开发的Wi-Fi6+BLE5.3模组,该模组搭载BL618芯片作为核心处理器,支持Wi-Fi 802.11b/g/n/ax协议和BLE协议,支持Thread协议。
Ra-09系列开发板入门教程,标准LoRaWAN协议对接国外 TTN LoRaWAN 开源服务器
本文章将说明如何在TTN中创建应用与节点设备,配置安信可Ra-09模块连接至TTN服务,实现数据发送与接收。
星闪开发板or模组烧录指导
Ai-BS21-32S_Kit是由安信可科技开发的蓝牙星闪开发板。该模块核心处理器芯片Hi2821是一款高集成2.4GHzSoCBLE&SLE芯片,支持BLE5.4/SLE1.0,集成RF电路,RF包含功率放大器PA、低噪声放大器、TX/RXSwitch、集成电源管理等模块,支持1M/2M/4M3种带宽,最大支持12Mbit/s速率。
安信可星闪开发板与西门子PLC通信的应用探索
星闪技术作为一项中国原生的、具有竞争力的近距离无线通信技术,通过技术创新和标准体系建设,打破了传统蓝牙和Wi-Fi在特定应用领域的一些局限性,为物联网、车联网、工业互联网等场景带来了更高性能、更安全、更具成本效益的无线连接解决方案。随着相关产品的不断推出和生态系统的持续完善,星闪技术有望在全球范围内产生深远影响,成为未来短距离无线通信领域的重要力量。
零基础开发小安派-Eyes-S1【入门篇】——工程文件架构
AiPi-Eyes-S1是安信可开源团队为Ai-M61-32S模组设计的开发板,支持WiFi6和BLE5.3,具备丰富的外设接口。开发板集成了多种接口,包括SPI屏幕、DVP摄像头、ES8388音频编解码器,并预留TF卡座和USB接口。开发资源包括入门教程、工程文件说明和烧录配置文件,适合初学者快速上手。
安信可推出基于Ai-M61-32S的屏幕驱动开发板,支持2.8/3.5寸等30Pin SPI显示屏
小安派-DSL(AiPi-DSL) 是安信可开源团队专门为 Ai-M61-32S 设计的一款屏幕驱动开发板,支持 2.8/3.5 寸等 30Pin SPI 显示屏、2.4 寸及 1.28 寸等 18Pin SPI 显示屏。
打开智能家居之旅(3):Ai-M61/M62 接入HomeAssistant 实现点灯
上一篇我们介绍了MQTT设备如何接入HomeAssistant,这一篇就给大家讲一下Ai-M61/M62 开发板或者模组怎么通过编程来接入HomeAssistant。这次的帖子会从开发环境搭建开始讲,一直到HomeAssistant 控制Ai-M61-Kit 开发板的蓝灯,会有点长,请耐心看完。
【外设移植】基于AI-WB2-32S开发板的SG90舵机控制案例
介绍Ai-WB2模组驱动舵机控制(SG90)的技术要求和方案。
NodeMCU-8266 规格书
描述- NodeMCU-8266 规格书V1.2介绍了由深圳安信可科技有限公司设计的NodeMCU-8266开发板,这是一款基于ESP8266模块的核心开发板。它提供了全面的电气参数、外观尺寸、管脚定义、原理图和设计指导,旨在帮助开发者轻松进行物联网项目的开发和调试。
型号- NODEMCU-8266,ESP8266
针对摄像头黑屏问题,安信可对AiPi-Cam-D200摄像头开发板的硬件、软件、工作模式等各方面进行优化
小安派-Cam-D200摄像头开发板已经发布半年了,随后在使用的过程中,大家将各种各样的问题也陆续反馈到安信可。安信可针对摄像头黑屏问题,对AiPi-Cam-D200摄像头开发板进行了全面升级。
BU03 UWB室内定位测距模块,配套测试说明
安信可推出了BU03定位模组,采用DW3000芯片,体积小巧,可集成至主板。BU03_Kit开发板使用STM32F103主控芯片,支持SPI连接和STM32 ST-LINK Utility烧录。测试时,需至少两个开发板,通过AT指令设置基站和标签,进行测距和定位测试。开发板提供USB和TTL接口,可配合上位机获取位置数据。
电子商城
现货市场
服务
可加工PCB层数:1-30层;板材类型:FR4板/铝基板/铜基板/刚扰结合板/FPC板/高精密板/Rogers高频板;成品尺寸:5*5mm~53*84cm;板厚:0.1~5.0mm。
最小起订量: 1 提交需求>
可加工PCB板层数:0-60层,板材类型:高频板/高速板/高频混压板/盲埋孔板/HDI板/无卤素板/厚铜板/刚柔结合板;最大加工尺寸:622*1200MM;板厚:0.05-8.0MM;铜厚:0.33-30OZ;
最小起订量: 1 提交需求>
登录 | 立即注册
提交评论