Python Pcan USB通信(基于PcanBus)

本文档介绍了作者在使用Pcan_com类进行主从式CAN通信时遇到的接收队列过早读取错误,并详细描述了如何通过重置Canbus和清理接收缓存来确保通信时序。重点在于解决实际编程问题和调试技巧。

直接上代码

class Pcan_com():
    def __init__(self):
        #设置canbus,用来收发数据, 设置通道和波特率.
        self.bus = PcanBus(channel='PCAN_USBBUS1', bitrate=500000) 

        #消息,用来发数据,arbitration_id=0x202:CAN ID
        #data 为发送的数据,is_extended_id:是否为扩展帧,默认Ture(是)
        self.msg = can.Message(arbitration_id=0x202, data= self.link_data,
                    is_extended_id=False)

        #设置过滤器,过滤ID,是否为扩展帧
        self.bus.set_filters([{"can_id": 0x203, "can_mask": 0xFFFF, "extended": False}])

        #记录初始时间
        self.start_time = time.time()

        #日志,如果想停掉就:logging.shutdown()
        self.fmt = "%(levelname)s: %(message)s"
        self.log_name = "logs.txt"
        logging.basicConfig(
                    level=logging.DEBUG,
                    format=self.fmt,
                    filename=self.log_name,
                    filemode="w",
                    datefmt="%a, %d %b %Y %H:%M:%S")
       


                
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值