新闻详情

新闻详情

首页 / 资讯中心 / 详情

干货分享 | 解锁TSMaster fifo函数:报文读取的高效方法

发布时间:2026/9/29 2:22:13来源:尧图网络
干货分享 | 解锁TSMaster fifo函数:报文读取的高效方法
前言TSMaster目前有两种读取报文的模式回调函数模式和fifo模式。fifo函数是TSMaster近期新增的函数本文将重点介绍fifo模块。关于回调函数的使用方法可以参考帮助模块的《快速入门》手册。1.技术背景TSMaster的小程序模块中提供了接收事件、发送事件以及预发送事件等回调事件如图 1。相比于回调函数fifo函数使用起来比较灵活方便可以在任意一个模块使用不再局限于接收、发送等回调事件。相关的fifo函数可以在【设计】-【C小程序】-【函数】中找到如图2。图 1:小程序的回调模块图 2:小程序的fifo函数模块2.fifo函数概述fifo是一种数据结构或缓冲机制它遵循先入先出的原则。在数据接收过程中最早进入 fifo的数据会被最先处理或读取。fifo 有一个输入端口和一个输出端口。数据从输入端口依次进入 fifo缓冲区然后按照进入的顺序在缓冲区中排队等待。当需要读取数据时从输出端口按照先入先出的顺序将数据取出。这样可以确保数据的接收和处理顺序与它们到达的顺序一致避免数据混乱或丢失。fifo的优点是用户可以在自己的任务或者线程中根据需要从驱动中读取数据延时等可以自己控制。缺点是异步的方式是在报文已经收发完成之后才会将数据取出进行处理。典型应用在汽车发动机、变速器等动力总成系统中多个传感器和执行器通过 CAN 总线进行通信。fifo用于接收来自各个传感器如节气门位置传感器、曲轴位置传感器的 CAN 报文。这些报文包含了发动机运行状态、转速、负荷等关键信息。fifo 按照报文到达的先后顺序存储发动机控制单元ECU从 fifo 中依次读取报文进行数据分析和处理进而调整喷油时间、点火提前角等参数确保发动机在不同工况下都能高效、稳定运行。3.fifo函数读取报文功能实现3.1 功能实现3.1.1 读取CAN报文使用fifo读取缓存报文之前需要先调用com.tsfifo_enable_receive_fifo()函数。本小节将提供一个简单示例可参考以下步骤。【步骤1】新建程序启动事件将使能fifo的函数添加到该事件函数里。如图 3。图 3: 程序启动事件【步骤2】新建按键事件将读取fifo的函数添加到该事件函数里。如图 4。图 4: 按键事件【步骤3】新建程序停止事件将取消使能fifo的函数添加到该事件函数里。如图 5。图 5: 程序停止事件【源码如下】3.1.2 读取LIN报文使用fifo读取缓存报文之前需要先调用com.tsfifo_enable_receive_fifo()函数。可参考3.1.1读取CAN报文小节。【源码如下】3.1.3 读取FlexRay报文使用fifo读取缓存报文之前需要先调用com.tsfifo_enable_receive_fifo()函数。可参考3.1.1读取CAN报文小节。【源码如下】3.2 实现效果启动小程序发送报文打印的消息可在【分析】-【系统消息】处查看如图 6。图 6: 实现效果4.TSMaster fifo函数说明4.1 fifo函数说明4.1.1 com.tsfifo_enable_receive_fifo4.1.2 com.tsfifo_disable_receive_fifo4.1.3 com.tsfifo_enable_receive_error_frames4.1.4 com.tsfifo_disable_receive_error_frames4.1.5 com.tsfifo_add_can_canfd_pass_filter4.1.6 com.tsfifo_delete_can_canfd_pass_filter4.1.7 com.tsfifo_add_lin_pass_filter4.1.8 com.tsfifo_delete_lin_pass_filter4.1.9 com.tsfifo_clear_can_receive_buffers4.1.10 com.tsfifo_clear_canfd_receive_buffers4.1.11 com.tsfifo_clear_lin_receive_buffers4.1.12 com.tsfifo_clear_flexray_receive_buffers4.1.13 com.tsfifo_read_can_buffer_frame_count4.1.14 com.tsfifo_read_can_rx_buffer_frame_count4.1.15 com.tsfifo_read_can_tx_buffer_frame_count4.1.16 com.tsfifo_read_canfd_buffer_frame_count4.1.17com.tsfifo_read_canfd_rx_buffer_frame_count4.1.18 com.tsfifo_read_can_tx_buffer_frame_count4.1.19 com.tsfifo_read_lin_buffer_frame_count4.1.20 com.tsfifo_read_lin_rx_buffer_frame_count4.1.21 com.tsfifo_read_lin_tx_buffer_frame_count4.1.22 com.tsfifo_read_flexray_buffer_frame_count4.1.23 com.tsfifo_read_flexray_rx_buffer_frame_count4.1.24 com.tsfifo_receive_can_msgs4.1.25 com.tsfifo_receive_canfd_msgs4.1.26 com.tsfifo_receive_lin_msgs4.1.27 com.tsfifo_receive_flexray_msgs5.缩写BLFBinary Logging FormatCANController Area NetworkCAN FDCAN with Flexible Data-RateIDIdentifierLINLocal Interconnect Network小贴士1、软件下载点击下方软件下载链接直接下载安装建议下载 beta 版本https://download.tosun.tech/TOSUNSoftware/TSMaster_Setup_beta.7z2、软件升级在电脑有互联网连接的前提下可以在软件内检查升级至最新版本。技术支持supporttosunai.cn
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

[智能体-538]:Coze、Dify、Hermes、LangChain 四者完整对比:TaoToken 统一 Key 接入配置骨架 2026/9/29 6:57:50

[智能体-538]:Coze、Dify、Hermes、LangChain 四者完整对比:TaoToken 统一 Key 接入配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Harness 对标 Claude Code 和 Cursor:差距与优势拆解,附 TaoToken 统一 Key 配置骨架 2026/9/29 6:57:50

Harness 对标 Claude Code 和 Cursor:差距与优势拆解,附 TaoToken 统一 Key 配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Node 版本升级后 opencode 与 Claude Code 报错?用 nvm 配 TaoToken 一次修好 2026/9/29 6:57:50

Node 版本升级后 opencode 与 Claude Code 报错?用 nvm 配 TaoToken 一次修好

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
OpenAI Codex(二)——编程需求理解技术剖析与TaoToken配置实战 2026/9/29 6:57:50

OpenAI Codex(二)——编程需求理解技术剖析与TaoToken配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Codex 额度重置周期变化:TaoToken 统一 Key 接入 AI 编程工具的配置骨架 2026/9/29 6:57:50

Codex 额度重置周期变化:TaoToken 统一 Key 接入 AI 编程工具的配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
从Notebook到生产:AI工程化落地的完整实战指南 2026/9/29 6:57:43

从Notebook到生产:AI工程化落地的完整实战指南

做AI这几年,我最大的体会是:能跑通一个模型的人很多,能把模型稳稳当当跑上生产、持续迭代、出了问题还能快速定位的人,少之又少。市面上大多数教程都在教你怎么用PyTorch搭一个网络、怎么调loss,但很少有人告诉你&…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉