本文将深入探讨如何使用Sang.IoT.NV3030B来驱动 NV3030B 显示屏。并介绍如何使用这个库来控制显示屏,以及在不同设备的使用方法。在物联网设备中,显示屏是一个常见的输出设备。NV3030B 是一种常用的显示控制器,支持262K色显示,能清晰地展示彩色图片,在智能家居控制面板、便携式设备等场景广泛应用。在本文中,我们将介绍如何使用库来控制 NV3030B 显示屏。对于 SPI 的接线和设备检查,这里我们不再赘述,可以参考前面的文章。安装库,可以使用以下命令:dotnet add package Sang.IoT.NV3030B摘要:本文将深入探讨如何使用Sang.IoT.NV3030B来驱动 NV3030B 显示屏。并介绍如何使用这个库来控制显示屏,以及在不同设备的使用方法。在物联网设备中,显示屏是一个常见的输出设备。NV3030B 是一种常用的显示控制器,支持262K色显示,能清晰地展
安装完成后,我们可以开始编写代码来驱动LCD显示屏。
首先,我们需要引入相关的命名空间:
using Iot.Device.Graphics;using Iot.Device.Graphics.SkiaSharpAdapter;using Sang.IoT.NV3030B;using System.Device.gpio;using System.Device.Spi;然后,设置 GPIO 引脚:
const int pinID_DC = 25;const int pinID_Reset = 27;const int pinID_BL = 18;接着,注册 SkiaSharp 适配器。注意:这里千万不要忘记注册适配器,否则无法正常使用 SkiaSharp 绘图。
SkiaSharpAdapter.Register;接下来,设置 SPI 创建显示设备:
SpiDevice displaySPI = SpiDevice.Create(new SpiConnectionSettings(0, 0){ Mode = SpiMode.Mode0, DataBitLength = 8, ClockFrequency = 40_000_000});using var display = new NV3030B(displaySPI, pinID_DC, pinID_Reset, pinID_BL);最后,我们可以使用display对象来控制显示屏。基础的显示测试代码如下:
// 使用红色清空屏幕display.ClearScreen(System.Drawing.Color.Red, true);await Task.Delay(10000);// 使用蓝色和绿色填充两个矩形display.FillRect(System.Drawing.Color.Blue, 0, 0, 100, 100);display.FillRect(System.Drawing.Color.Green, 100, 0, 100, 100);display.SendFrame(false);这段代码会在屏幕上显示一个红色背景,然后在屏幕上绘制两个矩形,一个蓝色,一个绿色。
图片展示方法:
using var image = BitmapImage.CreateFromFile("LCD_1inch5.jpg");display.DrawBitmap(image);这样就可以在 LuckFox 上使用 NV3030B 显示屏了。
后续该库也会不断更新,提供更多功能和优化。同时会拆分基类,方便后续接入更多显示屏。
来源:opendotnet