微雪7.5寸显示器显示特殊字符(Python3)

Displaying Special Characters on Waveshare 7.5inch Display (Python3)

我有一个 waveshare 黑白显示器连接到 raspberry pi。这东西工作得很好,除了它不会显示一些特殊字符。我可以毫无问题地打印度数符号(使用 \N{DEGREE SIGN}),但是没有打印任何上标(如 ²)或什至百分号 (%) 的方法。所有打印的都是空 space。我错过了什么?

waveshare LCD 不是位图设备:它有自己的板载控制器和有限的字体-table,就像无处不在的 HD44780('standard' 爱好项目的字母数字显示*,通常与 16x2 液晶显示器相匹配:我相信你知道我的意思。

参见数据表第 1 页。字体 table.

为 14

该数据表 中的字体 有一个 %,编码在 0b00100101。我不确定为什么它没有显示,因为:

>>> ord("%") == 0b00100101
True

您将需要进行一些挖掘,并(可能)查看 python 驱动程序的实现方式。找出实际发送的字节应该不难。作为起点,请检查您 是否 使用默认字体。

请注意,使用 8 位字体 table 你 永远不会 将拥有完整的 unicode 覆盖范围,但你通常可以编写一些 'custom'使用这些设备进行字符处理,通常足以满足您的需求。当您在使用这些设备时遇到问题,请先比较字体 table(确保它是适合您设备的正确字体 table,因为不同的 table 经常针对不同的国家发货)与您发送的实际字节(通过 ord()ascii font table。通常您只会得到字母数字和其他一些如 . 的良好重叠。如果驱动程序不为您做, 您可能需要对在不同位置编码的字符进行翻译。

*目前我家里有好几个 ;)

参考资料

https://www.waveshare.com/datasheet/LCD_en_PDF/LCD1602.pdf