NXP RT1060学习总结 - fsl_flexcan CAN FD 函数说明 -2

概要

CAN测试源码:
https://download.csdn.net/download/qq_35671135/89425377

根据fsl_flexcan.h文件从文件末尾往前面梳理,总共CAN FD处理函数;
使用的是RT1064开发板进行测试。

11、设置FlexCAN FD帧的比特率

函 数 :status_t FLEXCAN_SetFDBitRate(CAN_Type *base, uint32_t sourceClock_Hz, uint32_t bitRateN_Bps, uint32_t bitRateD_Bps);
说 明 :该函数根据FLEXCAN_FDCalculateImprovedTimingValues() API计算的定时值来设置FLEXCAN FD的波特率
参 数 :base FlexCAN外设基地址
参 数 :sourceClock_Hz 时钟源频率 Hz
参 数 :bitRateN_Bps 标称比特率,单位为Bps。
参 数 :bitRateD_Bps 数据比特率,单位为Bps。
返回值:kStatus_Success 成功设置CAN FD比特率(包括标称和数据相位)。

12、设置FlexCAN CANFD数据相位定时特性。

函 数 :void FLEXCAN_SetFDTimingConfig(CAN_Type *base, const flexcan_timing_config_t *pConfig);
说 明 :该功能为CANFD数据相位定时特性提供用户设置。该功能适用于有经验的用户。对于经验不足的用户,调用FLEXCAN_SetFDBitRate()来设置标称/数据比特率。
参 数 :base FlexCAN外设基地址
参 数 :pConfig 指向定时配置结构的指针。
返回值:无

13、初始化FlexCAN实例

函 数 :void FLEXCAN_FDInit( CAN_Type *base, const flexcan_config_t *pConfig, uint32_t sourceClock_Hz, flexcan_mb_size_t dataSize, bool brs);
说 明 :这个函数用用户定义的设置初始化FlexCAN模块。这个例子展示了如何设置flexcan_config_t参数,以及如何通过传递这些参数来调用FLEXCAN_FDInit函数。
参 数 :base FlexCAN外设基地址
参 数 :pConfig 指向用户定义的配置结构的指针。
参 数 :sourceClock_Hz FlexCAN协议时钟源频率,单位为Hz。
参 数 :dataSize FlexCAN消息缓冲区有效载荷大小。实际发送或接收的CAN FD帧数据大小需要小于或等于此值。
参 数 :brs 如果在FD模式下启用比特率开关,则为True。
返回值:无

14、根据CANFD的特定比特率计算改进的定时值。

函 数 :bool FLEXCAN_FDCalculateImprovedTimingValues(CAN_Type *base, uint32_t bitRate, uint32_t bitRateFD, uint32_t sourceClock_Hz, flexcan_timing_config_t *pTimingConfig);
说 明 :该函数用于根据给定的标称相位比特率和数据相位比特率计算CANFD定时值。计算时间值将在CBT/ENCBT和FDCBT/EDCBT寄存器中设置。计算基于CiA 1301 v1.0.0文档的建议。
参 数 :base FlexCAN外设基地址
参 数 :bitRate CANFD总线控制速度(bps)由用户定义。
参 数 :bitRateFD CAN FD数据相位速度(以bps为单位)由用户定义。等于bitRate表示禁用比特率切换
参 数 :sourceClock_Hz 源时钟频率,单位为Hz。
参 数 :pTimingConfig 指向FlexCAN定时配置结构的指针。
返回值:如果找到时序配置,则为TRUE,如果没有找到配置,则为FALSE.

15、确定FlexCAN实例在运行时是否支持CAN FD模式。

函 数 :bool FLEXCAN_IsInstanceHasFDMode(CAN_Type *base);
说 明 :只有当不同的soc部件共享soc部件名称宏定义时才使用此API。否则,可以使用不同的SOC部件名称在编译时确定FlexCAN实例是否支持can FD模式。如果需要使用这个API来确定是否支持CAN FD模式,首先需要执行FLEXCAN_Init函数,然后调用这个API并使用返回值来确定是否支持CAN FD模式,如果返回true,继续调用FLEXCAN_FDInit来启用CAN FD模式。
参 数 :base FlexCAN外设基地址
返回值:如果实例支持CAN FD模式为TRUE,如果实例只支持经典CAN(2.0)模式为FALSE。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/31154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++数据格式化6 - uint转换成二六进制字符串

1. 关键词2. strfmt.h3. strfmt.cpp4. 测试代码5. 运行结果6. 源码地址 1. 关键词 C 数据格式化 字符串处理 std::string int bin 跨平台 2. strfmt.h #pragma once#include <string> #include <cstdint> #include <sstream> #include <iomanip>na…

游戏心理学Day20

扩展的8种玩家 完成主义者 此类玩家关心的是成就和进展&#xff0c;其主要目的是完成游戏的主要目标&#xff0c;其次是完成游戏的次要目标之后才是游戏中的其他内容&#xff0c;在多人游戏中完成主义者会致力于炫耀自己的状态和财富。如果游戏以胜负为目标&#xff0c;那么此…

Day 46 Redis缓存集群

Redis缓存集群 redis缓存服务 缓存数据库 缓存 ​ 读取数据 cpu ​ L1 L2 L3 L4 ​ 一级缓存 二级缓存 ​ cs context switch 上下文交换 free -m ​ buffer cache mysql服务器 ​ 缓存 表缓存 数据缓存 nginx ​ expire 1d ​ 304响应码 ​ 200 ​ 301 ​ 30…

RS485中继器的作用你还不知道?

RS485是一种串行通信协议&#xff0c;支持设备间长距离通信。RS485中继器则像“传声筒”&#xff0c;能放大衰减信号&#xff0c;延长通信距离&#xff0c;隔离噪声&#xff0c;扩展分支。在实际场景中&#xff0c;如工厂内&#xff0c;通过中继器可确保控制室与远距离机器间通…

嵌入式实验---实验三 定时器实验

一、实验目的 1、掌握STM32F103定时器程序设计流程&#xff1b; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、使用SysTick定时方式控制LED闪烁&#xff1b; 2、使用通用定时器产生PWM脉冲&#xff0c;通过调整占空比实现两个目标&#xff1a; &#xff08;1&#xf…

前端导出excel xlsx 代码复制即用

确保安装了最新版本的 xlsx 库&#xff1a; npm install xlsx 2.在需要使用的文件中进行命名导入&#xff08;Named Import&#xff09;&#xff1a; import { utils, writeFile } from xlsx; 3.使用 utils 和 writeFile 替代默认导入的 XLSX 对象&#xff1a; const data [[…

RPM命令和YUM命令

目录 一、RPM软件包 1.1、RPM概述 1.2、查询已安装的rpm软件信息 1.3、查询未安装的 RPM 软件包文件中信息 1.4、安装、升级、卸载 RPM 软件包 二、YUM常规命令 三、手动配置Apache&#xff08;http&#xff09;服务 3.1、前提条件 3.2、开始配置 3.3、开启验证服务 …

迁移Docker容器

将 Docker 容器从一台服务器迁移到另一台服务器&#xff0c;主要包括以下步骤&#xff1a;保存容器的镜像&#xff0c;导出数据卷&#xff0c;传输文件到新服务器&#xff0c;然后在新服务器上重新运行容器。以下是具体的步骤和相应的命令&#xff1a; 1. 保存容器的镜像 首先…

GitHub爆赞!终于有大佬把《Python学习手册》学习笔记分享出来了

这份笔记的目标是为了给出一份比较精炼&#xff0c;但是又要浅显易懂的Python教程。《Python学习手册》中文第四版虽然比较简单&#xff0c;但是措辞比较罗嗦&#xff0c;而且一个语法点往往散落在多个章节&#xff0c;不方便读者总结。 我在做笔记时&#xff0c;将一个知识点…

PFC 离散元数值模拟仿真技术与应用

近几年&#xff0c;随着计算能力的提高和算法的优化&#xff0c;离散元仿真技术得到了快速发展&#xff0c;并在学术界产生了大量研究成果。在 PFC 离散元计算中无需给定材料的宏观本构关系和对应的参数&#xff0c;这些传统的参数和力学特性在程序中可以自动得到。据调查&…

深入了解常用负载均衡软件

在构建高性能、高可用的分布式系统时&#xff0c;负载均衡技术扮演着至关重要的角色。它通过合理分发网络请求到后端服务器集群&#xff0c;从而有效提升系统吞吐量、减少响应延迟、并保障系统的稳定运行。本文将介绍几种常用的负载均衡软件&#xff0c;包括它们的优缺点、应用…

Gartner发布2024年人工智能技术成熟度曲线:29项决定人工智能领域发展方向的前沿和趋势性技术

人工智能投资已达到新高&#xff0c;重点是生成式人工智能&#xff0c;但在大多数情况下&#xff0c;该技术尚未实现预期的商业价值。这项研究通过分析各种人工智能创新&#xff08;其中许多创新正在快速发展&#xff09;&#xff0c;帮助人工智能领导者确定其他值得投资的技术…

VScode开发ARM环境搭建

1. vscode安装 直接访问官网: Visual Studio Code - Code Editing. Redefined 2. 安装插件 2.1. 安装Embedded IDE 2.2. 安装Cortex-debug 3. 工程初始化 3.1. 导入现有工程&#xff08;推荐&#xff09; 3.2. 或可创建新的工程 3.2.1. 选择Cortex-M项目 指定项目名称&…

Qemu虚拟机在线迁移到VMware

libvirt版本&#xff1a;libvirt-10.0.0qemu版本&#xff1a;qemu-8.2.0 在生产环境中&#xff0c;大多数的场景是 vmware 虚拟机迁移到 qemu 环境&#xff0c;一般是通过关机然后导出、导入磁盘镜像来实现。 如果要将 qemu 环境虚拟机迁移到 vmware 怎么办呢&#xff1f;要求…

使用 Python 进行测试(5)测试的类型

总结 和我一起唱&#xff01; 冒烟测试&#xff0c;让你快速失败&#xff1b; 回归测试&#xff0c;不打破过去&#xff1b; 健全性检查&#xff0c;保留所拥有&#xff1b; 集成测试&#xff0c;处理副作用&#xff1b; 端到端&#xff0c;永无尽头&#xff01; 回测&#xf…

Django使用django-apscheduler实现定时任务

定时任务可以在后台定时执行指定的代码&#xff0c;避免了很多人为操作。下面是在Django项目中如何使用定时任务的具体操作流程。 我在这里使用的 django-apscheduler库来实现定时任务。 一、安装 django-apscheduler pip install django-apscheduler二、在项目的setting.py…

仿真模拟--telnet服务两种认证模式(自作)

自己做的笔记,有问题或看不懂请见解一下~ 目录 两个路由器间实现telnet服务(password认证模式) server client 两个路由器间实现telnet服务(aaa认证模式) server client 改名 tab键补齐 不会就扣问号 ? save 两个路由器间实现telnet服务…

有哪些去手写免费的软件?软件介绍

有哪些去手写免费的软件&#xff1f;在数字化时代&#xff0c;高效处理文字信息已成为学习和工作中不可或缺的一环。对于需要频繁处理手写试卷、笔记的用户来说&#xff0c;一款好的去手写软件无疑能大大提升效率。今天&#xff0c;我们就来推荐三款免费的去手写软件&#xff0…

持续总结中!2024年面试必问 20 道设计模式面试题(七)

上一篇地址&#xff1a;持续总结中&#xff01;2024年面试必问 20 道设计模式面试题&#xff08;六&#xff09;-CSDN博客 十三、状态模式&#xff08;State Pattern&#xff09;和策略模式&#xff08;Strategy Pattern&#xff09;有何区别&#xff1f; 状态模式&#xff0…

CentOS 8.5 - 配置ssh的免密登录

文章目录 生成ssh密钥公钥内容放入服务器 生成ssh密钥 在本地主机安装 ssh工具&#xff0c;并生成公钥、私钥。 # 命令行输入 ssh-keygen -r rsa# 会在当前用户的家目录下生成一个.ssh目录公钥内容放入服务器 将上一步生成的id_rsa.pub公钥的内容复制到远程服务器 # 编辑文…