linux下OLED屏开发-IIC协议

news/2024/10/17 12:22:51/

实现oled屏幕的显示我使用的是Orange Pi Zero 2

由 26pin 的原理图可知, Orange Pi Zero 2 可用的 i2c 为 i2c3

启动 linux 系统后, 先确认下/dev 下存在 i2c-3 的设备节点

从命令运行结果能观察到系统支持I2C-3和I2C-5的驱动,而H616的外设我们看到只有一个IIC接 口,用的是IIC-3

Linux一切皆文件,每个硬件设备“对应”一个文件,由驱动程序提供映射 

 开始测试 i2c, 首先安装 i2c-tools

输入命令 sudo apt-get install i2c-tools

插上模块。显示3c

 输入命令复制官方自带的oled屏幕代码

 进行修改,代码示例:

#include <errno.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdint.h>
#include "oled.h"
#include "font.h"
int oled_show(struct display_info *disp) {int i;char buf[100];oled_putstrto(disp, 0, 9+1, "Welcome to My HomeAssitant");disp->font = font2;oled_putstrto(disp, 0, 20, " ---Mr.chen HenShuai--- ");disp->font = font2;oled_send_buffer(disp);return 0;
}
void show_error(int err, int add) {printf("\nERROR: %i, %i\n\n", err, add);
}
void show_usage(char *progname) {printf("\nUsage:\n%s <I2C bus device node >\n", progname);
}
int main(int argc, char **argv) {int e;char filename[32];struct display_info disp;if (argc < 2) {show_usage(argv[0]);return -1;}memset(&disp, 0, sizeof(disp));sprintf(filename, "%s", argv[1]);disp.address = OLED_I2C_ADDR;disp.font = font2;e = oled_open(&disp, filename);e = oled_init(&disp);oled_show(&disp);return 0;
}


http://www.ppmy.cn/news/802485.html

相关文章

C++中重载赋值运算符=

C中重载赋值运算符 拷贝赋值和移动赋值运算符可以把类的一个对象赋值给该类的另一个对象。此外&#xff0c;类还可以定义其他赋值运算符以使用别的类型作为右侧 运算对象。 举个例子&#xff0c;在拷贝赋值和移动赋值运算符之外&#xff0c;标准库 vector 类还定义了第三种赋…

盘点全球8K视频直播的解决方案和成果

8K是什么?简单来说&#xff0c;8K就是更加清晰的视觉体验&#xff0c;8K分辨率高达7680*4320像素&#xff0c;是4K分辨率的4倍&#xff0c;很多公司早就已经开始布局研发8K产品和技术了&#xff0c;就众视媒体小编ZL了解所得&#xff0c;早在2013年CES展会上&#xff0c;夏普就…

三星QLED 8K电视Q950TS的方法论:左手设计,右手技术

量价齐跌&#xff0c;可能是电视行业在过去几年中留给外界最深刻的印象。 随着近些年消费者的注意力逐渐被新媒介形式吸引&#xff0c;传统内容的传播载体也在随之改变&#xff0c;原有的载体无可避免地成了被取代的对象&#xff0c;这样的论调在电视市场似乎得到了验证。 在…

盘点博冠8K 2021年度大事件,8K走进生活成事实

2021年&#xff0c;是中国8K元年。中央广播电视总台8K超高清电视频道试验开播、我国首次启动央视8K春晚直播、B站宣布迈入8K超高清时代...... 这一年&#xff0c;也是博冠8K不同寻常的一年。回首这一年&#xff0c;博冠8K依旧步履铿锵&#xff0c;以创新奋楫争先&#xff0c;以…

三星Neo QLED 8K 2022款评测 怎么样

三星Neo QLED 8K电视采用旗下最新量子矩阵技术Pro显示系统&#xff0c;凭借量子点矩阵技术能够对密集排列的LED进行超精细和精准的控制&#xff0c;可最大程度防止光晕的产生&#xff0c;使画面显示更加纯净、清晰。 三星表示&#xff0c;Neo QLED 8K电视较之常规量子点矩阵技术…

Sentinel组件限流降级

官网: home | Sentinel 文档不是很全, 关于nacos的配置中心的使用完全没有 常见的限流算法 静态窗口限流: 即规定1秒内只能固定处理多少请求动态窗口限流: 同样是规定1秒内处理多少请求, 但是统计方式与第一个不同, 比如2.5秒则是统计1.5秒到现在的请求数漏桶限流: 进来可以…

linux搭建vsftpd服务使用filezilla连接服务

背景&#xff1a;支持使用filezilla上传文件到公司的服务机器上&#xff0c;所以搭建vsftpd支持filezilla进行上传 一、linux机器搭建vsftpd服务 1、先看看自己的机器属于什么发行版&#xff0c;不同的发行版命令不一样 我的是centos&#xff0c;其他发行版命令不一样&#xf…

Mysql同步到ES时date和time字段类型转换问题解决办法

这个问题中发生问题的es字段映射类型为date类型&#xff01;&#xff01;&#xff01; 字符串类型的会好很多&#xff0c;关键我这边是通过logstash生成索引&#xff0c;并且全量同步的&#xff0c;不好改索引类型&#xff01;&#xff01;&#xff01; 问题描述&#xff1a; …