发 帖  
原厂入驻New
[资料]

【HarmonyOS HiSpark Wi-Fi IoT套件】支持鸿蒙OS的产品级SSD1306 OLED屏驱动库(MIT许可证开源)

2020-10-21 11:45:56  344 Hispark开发套件
分享
移植后的代码仓链接:https://github.com/xusiwei/harmonyos-ssd1306

功能简介:
• 使用HARMony OS的IoT硬件接口
• 提供字符绘制相关接口,内置四种字体大小的ASCII字符;
• 提供图形绘制相关接口,如绘制直线、矩形、圆形等;
• 内置一个128x64bit内存缓冲区,支持全屏刷新(可以用来实现动画、视频播放);
• 针对ssd1306连续数据发送进行了优化,目前全屏刷新速率能够达到10帧每秒;
• MIT许可证,可使用到产品级代码中;

API接口如下:
  1. void ssd1306_Init(void); // 初始化

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

  5. // 字符绘制相关接口
  6. char ssd1306_Writechar(char ch, FontDef Font, SSD1306_COLOR color);
  7. char ssd1306_WriteString(char* str, FontDef Font, SSD1306_COLOR color);

  8. // 图形绘制相关接口
  9. void ssd1306_DrawPixel(uint8_t x, uint8_t y, SSD1306_COLOR color);
  10. void ssd1306_Line(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, SSD1306_COLOR color);
  11. void ssd1306_DrawArc(uint8_t x, uint8_t y, uint8_t radius, uint16_t start_angle, uint16_t sweep, SSD1306_COLOR color);
  12. void ssd1306_DrawCircle(uint8_t par_x, uint8_t par_y, uint8_t par_r, SSD1306_COLOR color);
  13. void ssd1306_Polyline(const SSD1306_VERTEX *par_vertex, uint16_t par_size, SSD1306_COLOR color);
  14. void ssd1306_DrawRectangle(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, SSD1306_COLOR color);

  15. // 控制相关接口
  16. void ssd1306_SetContrast(const uint8_t value); // 设置对比度
  17. void ssd1306_SetdisplayOn(const uint8_t on); // 开关

  18. uint8_t ssd1306_GetDisplayOn(void); // 获取开关状态
复制代码


如何编译:
  • 在openharmony源码目录下克隆本项目:
    1. git clone https://github.com/xusiwei/HarmonyOS-ssd1306
    复制代码

  • 修改openharmony源码的build/lite/product/wIFiiot.json文件:
      将//applications/sample/wifi-iot/app替换为//harmonyos-ssd1306:app保存;
  • 在openharmony源码目录下执行:
    1. python build.py wifiiot
    复制代码


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


2

效果演示视频.zip

4.67 MB, 下载次数: 6

分享淘帖 显示全部楼层
最近下载过的用户(5)
· 2020-10-21 21:04:47
编译的时候还需要启用一下底层i2c驱动
· 2020-10-23 15:48:40
https://bbs.elecfans.com/jishu_1994930_1_1.html

这个类似,可以直接使用的app demo

只有小组成员才能发言,加入小组>>

1135个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表