赞
踩
python-can简述_python can-CSDN博客
安装PCAN驱动
在ubuntu中安装pcan可参考:
Ubuntu 20.04.2 LTS 安装Pcan驱动和pcanview
安装库文件
- python.exe -m pip install --upgrade pip
- 或
- pip install --upgrade pip
-
- pip install python-can
- 或
- python -m pip install "python-can[viewer]"
参考代码如下:
- import can
- from can.interfaces.pcan import PcanBus
- import time
-
- # 初始化PCAN通道
- channel = "PCAN_USBBUS1" # 通道名称根据实际情况设置
- bus = PcanBus(channel=channel, bitrate=250000, is_extended_id=False)
-
- # msg = can.Message(arbitration_id=0x500, data=[00, 10, 20, 13, 14, 15, 16, 0x7F], is_extended_id=False)
- msg = can.Message(arbitration_id=0x500, is_extended_id=False, dlc=8)
- msg.data = [0, 0, 0, 0, 0, 0, 0, 0]
- msg.data[0] = 0x10
- msg.data[1] = 0x20
- msg.data[2] = 0x1A
- msg.data[3] = 0x10
- msg.data[4] = 0x10
- msg.data[5] = 0x10
- msg.data[6] = 0x10
- #msg.data[7] = 0xff
- #bus.send_periodic(msgs=msg, period=0.3) # 发送周期
- count = 0
- # 发送CAN消息
- try:
- while True:
-
- count += 1
- msg.data[7] = count
-
- bus.send(msg)
- print("发送的ID为 {} 数据为 {}".format(msg.arbitration_id, msg.data))
- time.sleep(0.1) #设置发送周期 100ms
- except can.CanError:
- print("通讯错误,消息未发送")
- finally:
- # 确保总线能够被正确关闭
- bus.shutdown()
python语法补充:
在空列表中python不能够直接通过索引赋值
以下是错的
data = [] data[0] = 0x1A data[1] = 0x1B print(data)空列表向列表中添加元素,应该使用
append()
方法或者通过索引赋值的方式
data = [] data.append(0x1A) data.append(0x1B) print(data)在非空列表中python能够直接通过索引赋值
data = [0,0] data[0] = 0x1A data[1] = 0x1B print(data)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。