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

2024-06-13 14:04

本文主要是介绍NXP RT1060学习总结 - fsl_flexcan 基础CAN函数说明 -2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概要

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

根据fsl_flexcan.h文件从文件末尾往前面梳理,总共30个基础CAN函数;
该文章只梳理常规CAN,增强型CAN后面再单独梳理。
使用的是RT1064开发板进行测试。

11、轮询接收CAN FIFO消息

函 数 :status_t FLEXCAN_TransferReceiveFifoBlocking(CAN_Type *base, flexcan_frame_t *pRxFrame);
说 明 :在调用此API之前不需要创建传输句柄。
参 数 :base FlexCAN外设基地址
参 数 :pRxFrame 指向用于接收的CAN消息帧结构的指针。
返回值:kStatus_Success 从Rx FIFO读取消息成功。
返回值:kStatus_Fail 未使能Rx FIFO。

12、轮询接收CAN消息

函 数 :status_t FLEXCAN_TransferReceiveBlocking(CAN_Type *base, uint8_t mbIdx, flexcan_frame_t *pRxFrame);
说 明 :在调用此API之前不需要创建传输句柄。
参 数 :base FlexCAN外设基地址
参 数 :mbIdx FlexCAN消息缓冲区索引。
参 数 :pRxFrame 指向用于接收的CAN消息帧结构的指针。
返回值:kStatus_Success Rx消息缓冲区已满,并已成功读取。
返回值:kStatus_FLEXCAN_RxOverflow Rx消息缓冲区已经溢出,并已成功读取。
返回值:kStatus_Fail Rx消息缓冲区为空。

13、轮询发送CAN消息

函 数 :status_t FLEXCAN_TransferSendBlocking(CAN_Type *base, uint8_t mbIdx, flexcan_frame_t *pTxFrame);
说 明 :在调用此API之前不需要创建传输句柄。
参 数 :base FlexCAN外设基地址
参 数 :mbIdx FlexCAN消息缓冲区索引。
参 数 :pRxFrame 指向用于接收的CAN消息帧结构的指针。
返回值:kStatus_Success 写Tx消息缓冲区成功。
返回值:kStatus_Fail Tx消息缓冲区当前正在使用中。

14、从传统Rx FIFO读取FlexCAN消息

函 数 :status_t FLEXCAN_ReadRxFifo(CAN_Type *base, flexcan_frame_t *pRxFrame);
说 明 :这个函数从FlexCAN Legacy Rx FIFO读取CAN消息。
参 数 :base FlexCAN外设基地址
参 数 :pRxFrame 指向用于接收的CAN消息帧结构的指针。
返回值:kStatus_Success 从Rx FIFO读取消息成功。
返回值:kStatus_Fail 未使能Rx FIFO。

15、从接收消息缓冲区中读取FlexCAN消息

函 数 :status_t FLEXCAN_ReadRxMb(CAN_Type *base, uint8_t mbIdx, flexcan_frame_t *pRxFrame);
说 明 :这个函数从指定的接收消息缓冲区中读取CAN消息。该函数用刚刚接收到的数据填充接收CAN消息帧结构,并再次激活消息缓冲区。函数立即返回。
参 数 :base FlexCAN外设基地址
参 数 :mbIdx FlexCAN消息缓冲区索引。
参 数 :pRxFrame 指向用于接收的CAN消息帧结构的指针。
返回值:kStatus_Success Rx消息缓冲区已满,并已成功读取。
返回值:kStatus_FLEXCAN_RxOverflow Rx消息缓冲区已经溢出,并已成功读取。
返回值:kStatus_Fail Rx消息缓冲区为空。

16、将FlexCAN消息写入发送消息缓冲区

函 数 :status_t FLEXCAN_TransferSendBlocking(CAN_Type *base, uint8_t mbIdx, flexcan_frame_t *pTxFrame);
说 明 :该函数将CAN消息写入指定的发送消息缓冲区,并改变消息缓冲区的状态,开始发送CAN消息。之后,函数立即返回。
参 数 :base FlexCAN外设基地址
参 数 :mbIdx FlexCAN消息缓冲区索引。
参 数 :pRxFrame 指向用于接收的CAN消息帧结构的指针。
返回值:kStatus_Success 写Tx消息缓冲区成功。
返回值:kStatus_Fail Tx消息缓冲区当前正在使用中。

17、配置CAN 接收 fifo

函 数 :void FLEXCAN_SetRxFifoConfig(CAN_Type *base, const flexcan_rx_fifo_config_t *pRxFifoConfig, bool enable);
说 明 :这个函数用给定的配置配置FlexCAN Rx FIFO。传统的Rx FIFO只能接收经典的can消息。
参 数 :base FlexCAN外设基地址
参 数 :pRxFifoConfig 指向FlexCAN Legacy Rx FIFO配置结构的指针。当enable参数为false时,可以为NULL。
参 数 :enable true/false
返回值:无

18、配置FlexCAN接收消息缓冲区

函 数 :void FLEXCAN_SetRxMbConfig(CAN_Type *base, uint8_t mbIdx, const flexcan_rx_mb_config_t *pRxMbConfig, bool enable);
说 明 :这个函数清除FlexCAN内置的消息缓冲区,并将其配置为接收消息缓冲区。
参 数 :base FlexCAN外设基地址
参 数 :mbIdx FlexCAN消息缓冲区索引
参 数 :pRxMbConfig 指向FlexCAN消息缓冲区配置结构的指针。
参 数 :enable true/false
返回值:无

19、配置FlexCAN发送消息缓冲区

函 数 :void FLEXCAN_SetTxMbConfig(CAN_Type *base, uint8_t mbIdx, bool enable);
说 明 :此函数终止先前的传输,清除消息缓冲区,并将其配置为传输消息缓冲区。
参 数 :base FlexCAN外设基地址
参 数 :mbIdx FlexCAN消息缓冲区索引
参 数 :enable true/false
返回值:无

20、设置FlexCAN接收FIFO全局掩码。

函 数 :void FLEXCAN_SetRxFifoGlobalMask(CAN_Type *base, uint32_t mask);
说 明 :这个函数在匹配过程中为FlexCAN FIFO设置全局掩码。
参 数 :base FlexCAN外设基地址
参 数 :mask Rx Fifo全局掩码值。
返回值:无

未完,待续……

这篇关于NXP RT1060学习总结 - fsl_flexcan 基础CAN函数说明 -2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057504

相关文章

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字