亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

支持鴻蒙OS的產品級SSD1306 OLED屏驅動庫(MIT許可證開源)

標簽:
操作系統

移植后的代码仓链接:github.com/hihope/harmonyos-ssd1306

功能简介:

  • 使用Harmony OS的IoT硬件接口

  • 提供字符绘制相关接口,内置四种字体大小的ASCII字符;

  • 提供图形绘制相关接口,如绘制直线、矩形、圆形等;

  • 内置一个128x64bit内存缓冲区,支持全屏刷新(可以用来实现动画、视频播放);

  • 针对SSD1306连续数据发送进行了优化,目前全屏刷新速率能够达到10帧每秒;

  • MIT许可证,可使用到产品级代码中;

API接口如下:

void ssd1306_Init(void); // 初始化

void ssd1306_Fill(SSD1306_COLOR color); // 全屏填充
void ssd1306_SetCursor(uint8_t x, uint8_t y); // 设置光标位置
void ssd1306_UpdateScreen(void); // 更新屏幕,库中有一个内存缓冲区,绘制接口会将图像输出到内存缓冲区中,此接口会将缓冲区内容发送给SSD1306芯片

// 字符绘制相关接口
char ssd1306_DrawChar(char ch, FontDef Font, SSD1306_COLOR color);
char ssd1306_DrawString(char* str, FontDef Font, SSD1306_COLOR color);

// 图形绘制相关接口
void ssd1306_DrawPixel(uint8_t x, uint8_t y, SSD1306_COLOR color);
void ssd1306_DrawLine(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, SSD1306_COLOR color);
void ssd1306_DrawArc(uint8_t x, uint8_t y, uint8_t radius, uint16_t start_angle, uint16_t sweep, SSD1306_COLOR color);
void ssd1306_DrawCircle(uint8_t par_x, uint8_t par_y, uint8_t par_r, SSD1306_COLOR color);
void ssd1306_DrawPolyline(const SSD1306_VERTEX *par_vertex, uint16_t par_size, SSD1306_COLOR color);
void ssd1306_DrawRectangle(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, SSD1306_COLOR color);

// 绘制矩形区域,可以用于绘制预渲染的汉字位图
void ssd1306_DrawRegion(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t* data, uint32_t size, uint32_t stride);
// 全屏绘制位图,[bitmap, size) 表示的内存区域需要需要和屏幕尺寸相同,小于屏幕尺寸使用 DrawRegion
void ssd1306_DrawBitmap(const uint8_t* bitmap, uint32_t size);
// 控制相关接口
void ssd1306_SetContrast(const uint8_t value); // 设置对比度
void ssd1306_SetDisplayOn(const uint8_t on); // 开关

uint8_t ssd1306_GetDisplayOn(void); // 获取开关状态

如何编译:

  1. 在openharmony源码目录下克隆本项目:git clone github.com/xusiwei/harmonyos-ssd1306

  2. 修改openharmony源码的build/lite/product/wifiiot.json文件:

    将//applications/sample/wifi-iot/app替换为//harmonyos-ssd1306:app保存;

  3. 在openharmony源码目录下执行:python build.py wifiiot

项目代码中的 ssd1306_demo.c 和 ssd1306_tests.c 为测试代码

几个使用效果展示:

播放视频:www.bilibili.com/video/BV1DK4y1f7yw/

播放gif动图:www.bilibili.com/video/BV1Af4y1B7TD/

测试程序运行效果:www.bilibili.com/video/BV1C5411j7Cs/

作者:思维

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
軟件工程師
手記
粉絲
12
獲贊與收藏
3

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消