调用spi.write(data)后,出现以下错误:TypeError: object with buffer protocol required
spi.write(data)
TypeError: object with buffer protocol required
哪位大神指点一下如何解决?
查看更多
TypeError的问题已解决,原来是spi.write()要发送bytes类型的变量。但是新的问题出现了,执行spi.write(b'h')后,直接死机了。
TypeError
spi.write()
bytes
spi.write(b'h')
完整代码如下:
from machine import Pin, SPIimport utime as timedef pin_num(pin_index): return (ord(pin_index[1]) - ord('A')) * 16 + int(pin_index[2:])clk = Pin(("clk", pin_num("PB3")), Pin.OUT_PP)mosi = Pin(("mosi", pin_num("PB4")), Pin.OUT_PP)spi = SPI(-1, 100000, polarity = 1, phase = 1, bits = 8, firstbit = 0, sck = clk, mosi = mosi, miso = None)spi.write(b'h')
from machine import Pin, SPI
import utime as time
def pin_num(pin_index):
return (ord(pin_index[1]) - ord('A')) * 16 + int(pin_index[2:])
clk = Pin(("clk", pin_num("PB3")), Pin.OUT_PP)
mosi = Pin(("mosi", pin_num("PB4")), Pin.OUT_PP)
spi = SPI(-1, 100000, polarity = 1, phase = 1, bits = 8, firstbit = 0, sck = clk, mosi = mosi, miso = None)
MicroPython版本是1.12
这个错误说明SPI对象构造失败了,可以仔细检查一下SPI构造函数的参数,特别是第一个-1是否符合对应的开发板。
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部