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控制器的发送状态。
  • 参数说明:
    • 输入参数:
      • 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控制器的工作方式,
        • 1:CANFD,
        • 0:经典CAN;
      • rtr:远程传输请求,
        • 1:远程帧,
        • 0:数据帧;
      • ide:设置数据帧的格式,
        • 1:扩展格式,
        • 0:标准格式;
      • msg:要发送数据的首地址;
      • DLC:数据长度。 返回参数:无
8、void CANFD_recvFrameBlocking(uint32_t base, void *msg)
  • 函数说明:CANFD接收API函数。
  • 参数说明:
    • 输入参数:
      • base:CANFD模块寄存器的基地址;
      • msg:接收的数据帧。
    • 返回参数:无