【硬件外设使用】——can

can基本概念

CAN是Controller Area Network的缩写,即控制器局域网。它是一种多主机串行通信协议,用于连接计算机、传感器、执行器和其他设备。

常用于汽车、工业自动化和物联网等领域,CAN具有高可靠性、高效率、低成本等特点。由于CAN总线可以支持多个设备之间的通信,因此它在很多场合被广泛使用。

在这里插入图片描述

can 通讯

CAN通信的使用方法可以大致分为以下几步:

  1. 确认CAN硬件:首先需要确认要使用的硬件设备是否支持CAN通信。

  2. 安装驱动:在计算机上安装与硬件设备匹配的CAN驱动程序。

  3. 配置CAN参数:根据需要进行CAN参数配置,例如波特率、过滤器和定时器等。

  4. 编写程序:根据操作系统和编程语言的不同,编写程序实现CAN通信功能。

  5. 测试程序:通过测试程序确保CAN通讯功能正常。

在编写CAN通信程序时,需要了解CAN协议的基本结构和数据格式,包括CAN帧(Frame)的类型、标识符、数据域、控制位等信息。此外,还需要注意数据的传输顺序、字节对齐、错误处理等问题。

can使用方法

pyb.can

详情看官方文档http://docs.tpyboard.com/zh/latest/library/pyb.CAN/?highlight=pyb.CAN

pyb.can是Python语言中的一个模块,用于控制MicroPython系统中的CAN总线。它提供了一系列函数接口,可以方便地实现CAN通信功能。

以下是pyb.can模块的主要函数及其功能:

  • init(speed, mode=MODE_NORMAL, extframe=False, prescaler=0):初始化CAN总线,设置波特率、模式、帧类型和预分频等参数。

  • filter(id, mask=0x7ff, *, extended=False, mode='mask'):设置CAN过滤器,用于过滤接收到的CAN帧。

  • send(data, id, *, timeout=-1, priority=0, rtr=False, extended=False):发送一条CAN帧,包括帧数据、标识符、超时时间、优先级、RTR和扩展帧等信息。

  • recv(*, timeout=-1, fifo=0):接收一条CAN帧,返回帧数据、标识符、RTR和扩展帧等信息。

  • info():获取CAN总线的状态信息,包括错误计数、接收缓冲区状态等。

  • deinit():关闭CAN总线。

这些函数可以通过MicroPython的REPL或脚本文件调用,实现CAN通讯的发送和接收等功能。

can可用的传感器

CAN总线可以连接多种类型的传感器和执行器,例如:

  1. 汽车电子传感器:CAN总线在汽车行业中广泛应用,可连接各种电子控制单元(ECU),包括引擎控制模块(ECM)、刹车控制模块(BCM)、变速器控制模块(TCM)等。

  2. 工业测量仪器:CAN总线也可用于连接工业自动化中的传感器和执行器,例如温度计、压力传感器、流量计、伺服驱动器等。

  3. 物联网设备:CAN总线也可用于连接物联网中的传感器和设备,例如环境监测传感器、智能家居控制器、机器人执行器等。

需要注意的是,不同的传感器或执行器使用的CAN通讯协议可能不同,因此在使用前需要确认设备的通讯协议和参数,并根据实际需求进行相应的配置和调试。

翻了翻某宝,带can的开发板不多,等实战教程遇到了再说吧QAQ

猜你喜欢

转载自blog.csdn.net/weixin_45020839/article/details/130220104
今日推荐