You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派3运行RPLCD代码遇TypeError报错的解决方法

解决RPLCD CharLCD构造函数报错:TypeError: this constructor takes no arguments

这个报错是因为你用的RPLCD库版本(v0.4及以上)已经更新了API,原来直接通过CharLCD()传引脚参数的方式已经被废弃,现在需要用类方法来创建实例。

修正后的代码

直接改用CharLCD.from_pins()方法初始化LCD即可:

from RPLCD import CharLCD 

# 使用from_pins类方法替代直接实例化
lcd = CharLCD.from_pins(cols=16, rows=2, pin_rs=37, pin_e=35, pins_data=[33, 31, 29, 23]) 
lcd.write_string(u'Hello world!')

额外说明

如果你的树莓派引脚模式不是默认的BOARD(比如用BCM编号),可以在参数里指定pin_mode:

lcd = CharLCD.from_pins(
    cols=16, rows=2, 
    pin_rs=26, pin_e=24, pins_data=[22, 18, 16, 12],
    pin_mode='BCM'
)

为什么原来的代码会报错?

在RPLCD v0.4之后的版本中,官方重构了类的结构:CharLCD的构造函数不再直接接收引脚相关参数,而是把硬件初始化的逻辑拆分到了from_pins(GPIO引脚连接)、from_i2c(I2C连接)等类方法中,直接调用CharLCD()自然会提示“构造函数不接受参数”。

内容的提问来源于stack exchange,提问作者Vikash Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:41:20