HarmonyOS鸿蒙Next Hi3861:自家开发版上OLED屏幕显示各项内容
HarmonyOS鸿蒙Next Hi3861:自家开发版上OLED屏幕显示各项内容
做了 OLED 屏幕显示图片,特殊符号,字母,条形,圆弧,动画播放等操作。
代码量比较大,这里只展示小部分代码。
#include "ssd1306.h"
#include <math.h>
#include <stdlib.h>
#include <string.h> // For memcpy
#include <stdio.h>
#include <unistd.h>
#include "cmsis_os2.h"
#include "wifiiot_i2c.h"
#include "wifiiot_errno.h"
#if defined(SSD1306_USE_I2C)
#define SSD1306_I2C_IDX WIFI_IOT_I2C_IDX_0
#define SSD1306_CTRL_CMD 0x00
#define SSD1306_CTRL_DATA 0x40
#define SSD1306_MASK_CONT (0x1 << 7)
void ssd1306_Reset(void) {
// for I2C - do nothing
}
void HAL_Delay(uint32_t ms) {
uint32_t msPerTick = 1000 / osKernelGetTickFreq(); // 10ms
if (ms >= msPerTick) {
osDelay(ms / msPerTick);
}
uint32_t restMs = ms % msPerTick;
if (restMs > 0) {
usleep(restMs * 1000);
}
}
uint32_t HAL_GetTick(void) {
uint32_t msPerTick = 1000 / osKernelGetTickFreq(); // 10ms
uint32_t tickMs = osKernelGetTickCount() * msPerTick;
return tickMs + restMs;
}
更多关于HarmonyOS鸿蒙Next Hi3861:自家开发版上OLED屏幕显示各项内容的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你好,请问显示中文的代码是怎么样的,好像没有看到?
更多关于HarmonyOS鸿蒙Next Hi3861:自家开发版上OLED屏幕显示各项内容的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
这个是我们比较早期的练习作品了。当初还没用GITEE保存和分享完整的代码包。这整个代码,社区里应该可以找到的。
你好,能帮我看看这段代码哪里有错吗?为什么他只能显示第一个字?
HarmonyOS鸿蒙Next Hi3861开发板上OLED屏幕显示内容主要依赖于鸿蒙系统的图形框架和驱动支持。鸿蒙系统提供了graphic
模块,用于管理图形显示,开发者可以通过graphic
模块的API在OLED屏幕上绘制文本、图形等内容。
在Hi3861开发板上,OLED屏幕的驱动通常通过I2C或SPI接口与主控芯片通信。鸿蒙系统提供了display
模块,用于管理显示设备,开发者可以通过display
模块的API初始化OLED屏幕,并设置显示参数。
具体实现步骤包括:
- 初始化OLED屏幕:通过
display
模块的API初始化OLED屏幕,设置分辨率、颜色模式等参数。 - 创建图形缓冲区:使用
graphic
模块的API创建图形缓冲区,用于存储待显示的内容。 - 绘制内容:在图形缓冲区中绘制文本、图形等内容,可以使用
graphic
模块提供的绘图函数,如draw_text
、draw_line
等。 - 刷新显示:将图形缓冲区的内容刷新到OLED屏幕上,使用
display
模块的API进行刷新操作。
示例代码片段:
#include "graphic.h"
#include "display.h"
void oled_display() {
// 初始化OLED屏幕
display_init();
// 创建图形缓冲区
graphic_buffer_t buffer = graphic_create_buffer(128, 64);
// 绘制文本
graphic_draw_text(buffer, "Hello, HarmonyOS!", 10, 10);
// 刷新显示
display_refresh(buffer);
}
以上代码展示了如何在Hi3861开发板的OLED屏幕上显示文本内容。开发者可以根据需要扩展功能,显示更多复杂的内容。
在HarmonyOS鸿蒙Next Hi3861开发板上,通过OLED屏幕显示内容通常涉及以下步骤:
- 硬件连接:确保OLED屏幕正确连接到Hi3861开发板的I2C或SPI接口。
- 驱动配置:在代码中配置OLED屏幕的驱动,包括初始化I2C/SPI通信、设置屏幕分辨率和显示模式。
- 显示内容:使用API函数将文本、图像或图形数据发送到OLED屏幕进行显示。例如,使用
oled_show_string()
显示字符串,oled_show_image()
显示图像。 - 刷新屏幕:调用刷新函数更新屏幕显示内容。
示例代码片段:
#include "oled.h"
void main() {
oled_init(); // 初始化OLED
oled_clear(); // 清屏
oled_show_string(0, 0, "Hello, HarmonyOS!"); // 显示字符串
oled_refresh(); // 刷新屏幕
}
通过这些步骤,您可以在Hi3861开发板上实现OLED屏幕的内容显示。