0

问题总结:set_cursor(0,0) 将文本带到 (2,1) 和 set_cursor(0,1) 将文本带到 (3,1),文本在第 2 行之前转到虚构的第 3 行,就像 20x4 显示器一样。

我修改了 Python 代码以使用 Raspberry Pi Pico。

  • 将“import sys,wiringpi”替换为“from machine import Pin,I2C”
  • 用 I2C.writeto_mem() 替换了 Wiringpi.wiringPiI2CWriteReg8()
  • 添加了用于故障排除的 set_cursor_custom 方法(无济于事)
  • 用 I2C 替换了 Wiringpi.wiringPiI2CSetup()
  • 为自定义引脚号添加了 sda、scl 和 i2cn 关键字到init

当我使用以下脚本运行它时(完全包含在 zip 中):

import RGB1602
import time
from machine import Pin, I2C

lcd=RGB1602.RGB1602(16,2, sda=Pin(14), scl=Pin(15), i2cn=1)
  
#set the cursor to column 0, line 1
lcd.set_cursor(0, 0)
lcd.print_out("abcdefgh")
lcd.set_cursor(0, 1)
lcd.print_out("ABCDEFG")

以下文本打印到屏幕上:(破折号表示空格,便于计数)

--              |
--aABCDEFG      |

这不是预期的行为。预期的行为是:

abcdefgh        |
ABCDEFG         |

另一个不满是文本没有正确转到下一行。当我运行以下脚本(也在 zip 中)时:

import RGB1602
import time
from machine import Pin, I2C

lcd=RGB1602.RGB1602(16,2, sda=Pin(14), scl=Pin(15), i2cn=1)

lcd.print_out("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz")

它打印:

stuvwxyzijklmnop|
OPQRSTUVWXYZ1234|

而不是预期的:

abcdefghijklmnop|
qrstuvwxyzABCDEF|

请解决这个问题。谢谢你。

下面是测试文件的压缩包(修改后的lib和测试脚本 test&lib.zip

(改编自 GitHub 问题)

编辑:我想问题是:如何正确编辑库文件以实现预期的行为?

4

0 回答 0