CAN FD外设
1、STATIC_INLINE void CANFD_setMode(uint32_t base, CANFD_ModeType modes)
- 函数说明:设置CANFD模块的工作模式。
- 参数说明:
- 输入参数:
- base:CANFD模块寄存器的基地址;
- modes:选择CANFD模块的工作模式。
- 返回参数:无。
2、STATIC_INLINE void CANFD_setCmd(uint32_t base, CANFD_CmdType cmds)
- 函数说明:设置CANFD模块的数据发送。
- 参数说明:
- 输入参数:
- base:CANFD模块寄存器的基地址;
- cmds:对数据发送进行设置,可选的参数值如下:
- 0x01:中止次要发送缓冲区的数据发送;
- 0x02:启动次要发送缓冲区的所有数据的发送;
- 0x04:启动次要发送缓冲区的单帧数据的发送;
- 0x08:中止主要发送缓冲区的数据发送;
- 0x10:启动主要发送缓冲区的数据发送;
- 0x20:控制CAN收发器进入待机模式;
- 0x40:设置can控制器进入只听模式;
- 0x80:选择次要发送缓冲区进行数据发送。
- 返回参数:无。
3、STATIC_INLINE void CANFD_setInterrupt(uint32_t base, CANFD_IntType ints)
- 函数说明:启用CANFD模块相关的接收和发送中断。
- 参数说明:
- 输入参数:
- base:CANFD模块寄存器的基地址;
- ints:选择要启用的中断,可选的参数值如下:
- 0x02:启用错误中断;
- 0x04:启用次要发送缓冲区发送中断;
- 0x08:启用主要发送缓冲区发送中断;
- 0x10:启用接收缓冲区将要满载中断;
- 0x20:启用接收缓冲区全满载中断;
- 0x40:启用接收缓冲区超载中断;
- 0x80:启用接收缓冲区的接收中断,每个有效且被接受的消息都会产生中断。
- 返回参数:无。
4、STATIC_INLINE void CANFD_setAcceptFilter(uint32_t base, uint32_t acr, uint32_t amr)
- 函数说明:设置CANFD的接收过滤器。
- 参数说明:
- 输入参数:
- base:CANFD模块寄存器的基地址;
- acr:过滤器的验证码,指定验证值。
- amr:过滤器的屏蔽码,指定需要验证哪几位。
- 返回参数:无。
5、STATIC_INLINE u32 CANFD_isTransmitterBusy(uint32_t base)
- 函数说明:获取CANFD控制器的发送状态。
- 参数说明:
- 输入参数:
- 返回参数:
- 1:控制器当前正在发送帧;
- 0:控制器没有发送活动。
6、STATIC_INLINE u32 CANFD_isReceiveBusy(uint32_t base)
- 函数说明:获取CANFD控制器的接收状态。
- 参数说明:
- 输入参数:base:CANFD模块寄存器的基地址;
- 返回参数:
- 1:控制器当前正在接收帧;
- 0:控制器没有接收活动。
7、void CANFD_sendFrame(uint32_t base, uint32_t sta_id, CANFD_TTSEN ttsen, CANFD_BRS brs, CANFD_FDF fdf, CANFD_RTR rtr, CANFD_IDE ide, const void *msg, u8 DLC)
- 函数说明:CANFD发送API函数。
- 参数说明:
- 输入参数:
- base:CANFD模块寄存器的基地址;
- sta_id:CAN数据帧的ID;
- ttsen:发送时间戳使能位,
- 1:启用时间戳更新,
- 0:不获取此帧的发送时间戳;
- brs:比特率切换,
- 1:数据负载和CRC切换到快速比特率,
- 0:对整个帧使用慢速比特率;
- fdf:设置CAN控制器的工作方式,
- rtr:远程传输请求,
- ide:设置数据帧的格式,
- msg:要发送数据的首地址;
- DLC:数据长度。
返回参数:无
8、void CANFD_recvFrameBlocking(uint32_t base, void *msg)
- 函数说明:CANFD接收API函数。
- 参数说明:
- 输入参数:
- base:CANFD模块寄存器的基地址;
- msg:接收的数据帧。
- 返回参数:无