6.5 OpenHarmony中使用I2C总线
<p>这一小节使用OLED屏幕控制的例子来演示如何在运行鸿蒙系统的W800开发板上使用I2C功能。</p>
<p>接线方法:</p>
<table>
<thead>
<tr>
<th>W800</th>
<th>OLED</th>
</tr>
</thead>
<tbody>
<tr>
<td>PA1</td>
<td>SCK</td>
</tr>
<tr>
<td>PA2</td>
<td>SDA</td>
</tr>
<tr>
<td>GND</td>
<td>GND</td>
</tr>
<tr>
<td>5V</td>
<td>VCC</td>
</tr>
</tbody>
</table>
<p>示例功能是每2秒钟刷新一次屏幕显示内容,每2秒交替显示“Hello”和“World”两个单词</p>
<p>屏幕显示驱动可以在Gitee的仓库中下载使用:<a href="https://gitee.com/nicholas3388/ohos-examples">https://gitee.com/nicholas3388/ohos-examples</a></p>
<pre><code>void UserMain(void)
{
printf("\n user task \n");
oled_init();
oled_clear();
oled_show_string(0, 0, "Hello", 16);
//oled_show_char(0, 0, 'A', 12);
tls_os_task_create(&taskHandle, "oledThr",
oled_task_start,
(void *)0,
(void *)NULL,
ADC_TASK_START_STK_SIZE * sizeof(u32),
5,
0);
printf("\nuser main task complete\n");
}
</code></pre>
<p>主函数中调用显示驱动的oled_init方法对屏幕初始化后,就可以显示自定义字符串,通过oled_show_string显示自定义文字内容,目前仅支持显示英文字符,若要显示中文字符需要使用字模处理。</p>
<p>运行oled示例后的运行效果如下图所示:</p>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=c4b76533bd34116c54959a5066a1ad4d" alt="2" title="2" /></p>