lcdCharDef()
在我的2004 lcd上使用覆盆子pi定义一个新角色(大写德语变音符号“Ä”) 这是我的代码
import wiringpi2 as wiringpi# Äcap_umlaut_a = [ int('0b01010',2),int('0b00100',int('0b01010',int('0b10001',int('0b11111',int('0b00000',2)]print(cap_umlaut_a) # [10,4,10,17,31,0]wiringpi.lcdCharDef(lcd_handle,cap_umlaut_a)
当我运行此代码时,我收到以下错误:
TypeError: in method ‘lcdCharDef’,argument 3 of type ‘unsigned char [8]’
我希望这些整数与unsigned chars相同
[编辑]
在代码的不同部分,我使用ord(char)将一个字符转换为unsigned int.这可以导致正确的anser吗?
如何将数组转换/转换为可以接受的类型?
附: (注意(根据我的理解)python wiringpi库只包含wiringpi的C函数)
[编辑]
我在github上打开了一个问题:https://github.com/WiringPi/WiringPi2-Python/issues/20
这条线是
res3 = SWIG_ConvertPtr(obj2,&argp3,SWIGTYPE_p_unsigned_char,0 | 0 );
正如你所看到的,你必须将指向python的指针传递给unsigned char.根据this thread,等效字节是字节串.这意味着正确的呼叫将是
import structwiringpi.lcdCharDef(lcd_handle,struct.pack('8B',*cap_umlaut_a))
这相当于
wiringpi.lcdCharDef(lcd_handle,b'\x0A\x04\x0A\x11\x1F\x11\x11\x00')总结
以上是内存溢出为你收集整理的python中int数组的unsigned char数组全部内容,希望文章能够帮你解决python中int数组的unsigned char数组所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)