CAN
文章平均质量分 68
草莓仙生
努力提高python编程技术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
工具分享:通过滑块拉取CAN报文信号数值自动发送报文
CAN报文发送工具使用wxpython进行开发,配套Excel模板可以通过修改Excel自定义界面展示的信号名称和信号的属性;同时,工具支持导入现场采集的报文数据自动按照配套Excel模板定义的报文发送周期进行模拟发送。原创 2025-05-07 21:28:20 · 1151 阅读 · 0 评论 -
如何解析CAN报文物理值是负数的信号
先确定字节顺序,再确定信号的数据类型,解析遇到负数需要先取反再加1原创 2025-05-05 12:26:30 · 697 阅读 · 0 评论 -
从OSI七层网络模型角度了解CAN通信协议
CAN通信协议的网络架构基于OSI七层模型进行设计,但实际实现中根据其应用场景(如汽车电子、工业控制等)进行了简化和优化。通过分层架构,CAN实现了从底层电气特性到高层应用协议的完整生态,成为工业与汽车领域的主流通信方案。原创 2025-03-20 21:58:44 · 2260 阅读 · 0 评论 -
CAN通信转TCP/IP通信协议解析
最近项目开发受限于开发版只有一路CAN口和多个CAN通信对象的帧ID一样,考虑采用转换模块将CAN通信转成TCP/IP通信,间接实现获取CAN报文数据的目的。原创 2025-03-20 21:53:56 · 1087 阅读 · 0 评论 -
Linux环境如何使用周立功的.so进行二次开发
重新编译.so除了controlcan.h 文件,还需要controlcan.c文件。controlcan.c文件是实际实现 controlcan.h 中声明的函数的代码。没有 controlcan.c,你无法生成真正的 .so 文件,因为 .so 文件需要包含这些函数的具体实现。test.c:使用了 controlcan.h 中定义的函数和数据结构,实现了具体的 CAN 通信逻辑,包含了设备的打开、初始化、数据发送和接收等功能。需要注意的是目前只有CANFD类型的才提供aarch64系统的驱动,原创 2025-03-05 20:22:02 · 1258 阅读 · 0 评论 -
Linux设置CAN波特率的几点认识
在CAN(Controller Area Network)通信中,波特率(bitrate)是网络通信中的一个关键参数,它决定了数据在总线上的传输速率。波特率的设置必须确保通信双方(即所有节点)都使用相同的速率,否则通信将无法正确进行。CAN总线上的每个报文都是以位(bit)的形式发送的。如果波特率不匹配,接收到的数据位将无法正确对齐,导致数据无法被正确解析。原创 2025-02-19 21:55:18 · 1141 阅读 · 0 评论 -
cantools模块如何解析DBC文件
报错信息导致的原因是加载DBC文件之后,得到的db是None。目前还没有找到原因,我采取的解决办法是换cantools模块解析DBC文件,发现生成的.exe文件功能执行正常。原创 2024-11-20 21:32:37 · 612 阅读 · 0 评论 -
解决VS调用周立功ControlCAN.dll报错:无法加载 DLL“ControlCAN.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
解决VS调用周立功ControlCAN.dll报错:无法加载 DLL“ControlCAN.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。visual studio软件调用ControlCAN.dll,遇到的第一个问题报错如下:解决办法:将ControlCAN.dll放在C#工程文件bin目录下面的debug目录后解决了问题。ConsoleApp2是用visual studio软件建立的工程目录...原创 2021-11-05 21:35:51 · 7302 阅读 · 1 评论 -
解决python使用controlcan.dll接收报文每次只能处理一条报文信息问题
python调用controlcan.dll实现接收报文参考文章:实践出真知——Python周立功CAN接口收发https://zhuanlan.zhihu.com/p/195116941在解析接收到的报文数据时执行报错:原出错代码: DevType = 4 DevIndex = 0 CANIndex = 0 vci_initconfig = VCI_INIT_CONFIG(0x00000000, 0xFFFFFFFF, 0,原创 2022-05-26 10:37:17 · 1730 阅读 · 0 评论 -
上位机实现can报文的周期性发送(python3)
上位机程序问题记录:启动定时器后台一直在发送can报文,上位机界面会卡死,报”无响应“。原创 2022-05-31 16:59:44 · 2971 阅读 · 0 评论 -
使用ControlCAN.dll收发报文功能实现诊断仪与硬件的UDS报文交互
上位机使用ControlCAN.dll收发报文功能模拟诊断仪发送19 42故障问询报文,获取硬件故障信息。在此记录下程序实现过程中遇到的问题及解决措施。原创 2022-08-05 15:22:40 · 1996 阅读 · 0 评论 -
python调用32位的ControlCan.dll实现can报文的收发
python重新封装调用ControlCan.dll内部函数实现can报文的收发。原创 2022-11-05 20:10:02 · 3196 阅读 · 0 评论 -
【学习篇】SAE J1939协议—常用到的知识点
SAE J1939在应用层中还定义了12种诊断报文(Diagnostic Message,DM)、诊断故障代码(Diagnostic Trouble Code,DTC)。诊断故障代码由三部分组成:可疑参数号(Suspect Parameter Number,SPN)、故障模式标志(Failure Mode Identifier,FMI)及故障发生次数(Occurrence Count,OC)。一个故障代码由4字节构成,三个部分的位数分配如表所示。原创 2023-07-26 14:17:45 · 7134 阅读 · 5 评论 -
【学习篇】CCP协议
CCP的全称是CAN Calibration Protocol(CAN标定协议),是ASAP标准的有机组成部分,属于ASAP1a规范标准,是基于CAN总线的ECU标定协议规范。CCP协议遵从CAN2.0B通信规范,支持11位标准与29位扩展标识符。原创 2023-10-09 21:13:25 · 1469 阅读 · 0 评论 -
MC9S12G128开发板—实现按键发送CAN报文指示小车移动功能
MC9S12G128开发板:控制开发板上的按键,模拟车辆移动的上下左右四个方位,通过can通信告诉上位机界面,车辆轨迹的移动方位。原创 2023-04-25 09:10:44 · 944 阅读 · 0 评论 -
使用python中的生成器实现多个信号共用一个帧ID发送报文的场景
采用python的生成器每次执行信号的一个物理量的报文发送过程,改成先合并帧ID相同信号的报文数据再采用python的生成器每次执行同一个唯一的帧ID的一条报文数据的周期性报文发送过程。但是,上一篇文章中未考虑多个信号共用一个帧ID发送报文的场景,仅支持一个信号占用一个帧ID发送报文。基于此,优化代码结构实现多个信号共用一个帧ID发送报文的场景。原创 2023-06-29 09:41:08 · 419 阅读 · 0 评论 -
使用python中的生成器实现周期性报文发送功能
多个报文发送对象共用同一个报文发送线程,多个对象间的报文发送周期不同,多个对象间的总报文发送数据长度不同,能够允许报文发送过程中断及恢复某个对象的报文发送。在固定发送对象某个数值的基础程序版本上增加新的功能,考虑使用python中生成器实现周期性提取对象数值发送报文的功能。原创 2023-03-06 11:51:38 · 1221 阅读 · 0 评论 -
如何安装cantest驱动
先在周立功官网上搜索“CANTEST”,在“下载资料”选择如下的应用软件进行安装,安装成功后能打开cantest软件界面,但是插入can盒后无法读取can报文,因为还没有安装正确的can盒驱动程序。周立功官网搜索“can驱动”,在“CAN驱动合集”找到CAN盒对应的设备类型,例如我买的CAN盒是USBCANII,相应的我选择windows的CAN驱动下载。下载驱动后直接点击默认安装,安装完成后,在电脑的“设备管理器”出现“ZLG USBCAN”字样表示驱动安装成功,可以设别电脑上插入的CAN盒设备。原创 2024-08-21 10:45:07 · 2777 阅读 · 0 评论 -
cantools模块如何生成DBC文件
如何使用cantools模块生成DBC文件原创 2024-11-16 11:12:51 · 1221 阅读 · 1 评论
分享