CAN发送列表报错,请指点错误点,应该怎么处理
-
temp=[0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08] if (TRANSMITTER): while (True): # Send message with id 1 can.send(temp, 1) time.sleep(1000)
CAN发送列表(c数组)报错,刚刚开始学语法,以前做C的,实在是找不到问题点在什么地方,请指点!
-
CAN.send(data, id, *, timeout=0, rtr=False)
在总线上发送消息:data 是发送的数据(发送一个整数或一个缓冲区对象)。
id 是所发送的消息的id。
timeout 是以毫秒计的等待发送的超时时长。
rtr 是一个指定消息是否应该作为远程传输请求发送的布尔值。若 rtr 为True ,则只使用 data 长度来填充框架的DLC插槽,
而不使用 data 中的实际字节。若暂停时间为0,消息则置于三个硬件缓冲区中的其中一个,该方法立即返回。若三个缓冲区都被占用,则会引发异常。若暂停时间不为0,该方法会等待消息传输完毕。若该消息不能在指定时间内传输,则会引发异常。
返回值: None.
手册上是这样解释的,但是和我们实际用的函数不一样了
-
应该用bytes,而不是数组。
bytes(temp)
-
bytes(temp)
temp=[1,2,3,4,5,6,7,8]
if (TRANSMITTER):
while (True):
# Send message with id 1
can.send(temp, 1)
time.sleep(1000)是这样吗?
我是需要用CAN发一个变量数组,8个元素的列表
能请您给多点应用指示吗?
-
temp=[1,2,3,4,5,6,7,8]
if (TRANSMITTER):
while (True):
# Send message with id 1
can.send(bytes(temp), 1)
time.sleep(1000)搞明白了!是这样!发送是什么发送类型。
以前是学C的,真的很难能转变过来
-
感谢!感谢!感谢您的指点!