Files
EPaperDrive/docs/用户手册.md
2022-02-02 21:49:46 +08:00

3.4 KiB
Raw Permalink Blame History

用户手册

本手册为该驱动库的用户手册,让用户对如何使用该驱动库有个大概的了解。

将驱动库进行实例化并进行一些初始化操作

将该驱动库进行实例化的时候,其构造函数有如下几个构造参数:SPIMode CS RST DC BUSY CLK DIN 。其中SPIMode用于选择使用硬件SPI还是软件SPI当其为0的时候为软件SPI当其为1的时候为硬件SPI。其余的参数均为对应连接的引脚值得注意的是如果您打算采用硬件SPI的方式驱动您可以不用填CLKDIN的参数,留空即可。

选择硬件SPI还是软件SPI

当您看到构造函数中可选硬件SPI以及软件SPI的时候您也许会有些困惑不知道应当如何选择。实际上除了引脚冲突或者是别的原因导致您无法使用硬件SPI之外我都诚恳地建议您采用硬件SPI来驱动。以常见的ESP8266为例如果采用软件SPI不仅频率难以控制并且其最大速率并不会超过500kHz。但是如果您采用硬件SPI那您可以轻松达到大部分驱动芯片的速率上限20MHz这样可以大大为您节省不少本不应该被浪费的时间。
不过需要注意的是如果您采用的硬件SPI请您先主动初始化SPI并调用SetHardSPI函数来将实际的硬件SPI指针传入以便驱动库进行下一步操作。如果您没有看懂这一步请参阅HardSPIHelloWorld例程来查看

传入对应的文件系统指针以使用字库

您可以在例程中注意到,在我们对墨水屏进行任何操作之前,往往都会调用一个名为SetFS的函数,这个函数的作用便是将您喜欢的文件系统传入。需要注意的是,您在传入之前请先将您使用的文件系统初始化,例如LittleFS.begin()并将对应的字库文件上传字库文件在每个例程及驱动库的根目录下的data文件夹中

墨水屏的驱动步骤

首先,当您是第一次上电的时候,您需要至少进行一次全刷,之后才可以继续进行全刷或者是局刷的操作。
想要全刷的话,您仅仅需要调用EPD_init_Full()函数进行全刷的初始化,然后利用别的绘图函数在图像缓存中进行绘图。当您绘图结束之后,您可以调用EPD_Dis_Full(uint8_t *DisBuffer, uint8_t Label)函数来将绘图完成的缓存传入驱动芯片并且开始全刷。别忘了,在刷屏结束之后调用deepsleep()函数来使墨水屏进入休眠模式,这不仅利于您降低功耗,同时也可以避免墨水屏出现颜色逐渐变浅的情况。

如何显示图片?

想要在墨水屏上显示一些图片也许是个不错的主意。令人兴奋的是我们提供了一系列的API供您完成您绝妙的创意。您可以调用drawXbmDrawXbm_P函数来向缓存中绘入您所期望的图片。这两个函数的区别在于DrawXbm_P绘制的是您采用PROGMEM类型存储的图像这会将数据存储在flash而不是RAM相信您会喜欢上这一点。
也许您会有这样的疑问,如何将.jpg等拓展名的图像转换为可识别的数据呢非常简单只需要使用任意一款图像取模软件我喜欢用Image2lcd虽然它很古老但是依旧能完美地完成任务使用单色模式垂直扫描将其转换为一连串的c数组即可。