《STM32从零开始学习历程》——CAN相关结构体
发布日期:2021-05-10 01:33:13 浏览次数:7 分类:精选文章

本文共 5708 字,大约阅读时间需要 19 分钟。

STM32 CAN ���������������������������������������������������������

���������������������������CAN���������������������STM32 CAN���������������������������������������������������������������������������CAN���������������������������������������������������������������������������������������������������������CAN������������������������������������������������������������������������������������CAN������������������������������


CAN ������������������

CAN������������������������������������CAN_InitTypeDef���������������������������������������������������������������������CAN���������������������������������������

typedef struct {    uint16_t CAN_Prescaler;    /* ������������������ */    uint8_t  CAN_Mode;         /* ������������������ */    uint8_t  CAN_SJW;         /*��������������������� */    uint8_t  CAN_BS1;         /*BS1��������������� */    uint8_t  CAN_BS2;         /*BS2��������������� */    FunctionalState CAN_TTCM; /*������������������ */    FunctionalState CAN_ABOM; /*������������������������ */    FunctionalState CAN_AWUM; /*������������������ */    FunctionalState CAN_NART; /*������������������ */    FunctionalState CAN_RFLM; /*������FIFO������������ */    FunctionalState CAN_TXFP; /*��������������������� */} CAN_InitTypeDef;
  • CAN_Prescaler���������CAN������������������������������������������������������������������Tq������������������������������������
  • CAN_Mode���������CAN���������������������������������������������������������������������������������������������������
  • CAN_SJW���������CAN������������������������������������������������������������������������
  • CAN_BS1���CAN_BS2���������������CAN������������������������������������������������
  • ���������������������������������������������������������TTCM���������������������������NART���������������������������������������STC���������������

CAN REPORT

���������������������������CAN������������������������������������������������������������CanTxMsg���CanRxMsg������������������������


1. ������������������������CanTxMsg

���������������������������CAN������������������������������������������������

  • StdId���������������������11������������������������0-0x7FF���
  • ExtId���������������������29������������������������0-0x1FFFFFFF���
  • IDE���������������������������
  • RTR���������������������
  • DLC������������������������
  • Data[8]���������8���������������������
typedef struct {    uint32_t StdId;    /* ��������������� */    uint32_t ExtId;    /* ��������������� */    uint8_t  IDE;      /* ��������������� */    uint8_t  RTR;      /* ��������������� */    uint8_t  DLC;      /* ������������������ */    uint8_t  Data[8];  /* ��������� */} CanTxMsg;

2. ������������������������CanRxMsg

���������������������CAN���������������������������������������������������������

  • StdId���������������������
  • ExtId���������������������
  • IDE���������������������������
  • RTR���������������������
  • DLC������������������������
  • Data[8]������������������������
  • FMI������������������������������������������������
typedef struct {    uint32_t StdId;    /* ��������������� */    uint32_t ExtId;    /* ��������������� */    uint8_t  IDE;      /* ��������������� */    uint8_t  RTR;      /* ��������������� */    uint8_t  DLC;      /* ������������������ */    uint8_t  Data[8];  /* ��������������������� */    uint8_t  FMI;      /* ��������������� */} CanRxMsg;

���������������

������������CAN���������������������������������������������������������������������������������������������������������������������������������������������


������������������������������CAN_FilterInitTypeDef

������������CAN������������������������������������������������������������������

  • CAN_FilterIdHigh���CAN_FilterIdLow���������������������ID������������������������������������
  • CAN_FilterMaskIdHigh���CAN_FilterMaskIdLow���������������������������������������������������������������
  • CAN_FilterFIFOAssignment���������������������������������������FIFO���������0���1������
  • CAN_FilterNumber������������������������������������������0-27���
  • CAN_FilterMode���������������������������������������������������������������
  • CAN_FilterScale���������������������������32������16������
  • CAN_FilterActivation���������������������������
typedef struct {    uint16_t CAN_FilterIdHigh;     /* ������ID���16��� */    uint16_t CAN_FilterIdLow;      /* ������ID���16��� */    uint16_t CAN_FilterMaskIdHigh; /* ���������������16��� */    uint16_t CAN_FilterMaskIdLow;  /* ���������������16��� */    uint16_t CAN_FilterFIFOAssignment; /* ������������FIFO������ */    uint8_t  CAN_FilterNumber;     /* ��������������� */    uint8_t  CAN_FilterMode;       /* ������������ */    uint8_t  CAN_FilterScale;      /* ������������ */    FunctionalState CAN_FilterActivation; /* ��������������������� */} CAN_FilterInitTypeDef;

���������������������

���������������������������������������������������������������������������������������������������������������������������


1. ������������

  • FilterIdHigh���FilterIdLow���������������������ID���
  • MaskIdHigh���MaskIdLow���������������������������

2. ������������

  • FilterIdHigh���FilterIdLow������������������ID������16���������16������
  • MaskIdHigh���MaskIdLow���������������������ID���������������������

���������������������

  • ������������������������������������������������������������������������ID������������
  • ������CAN_FilterInit���������������������������������CAN���������
  • ���������������FIFO���������������������������������������������������������FIFO������

  • ������������������CAN���������������������������������������������������������������CAN������������������������������������������������������������������������������������������������������������������������������������������������������������������������CAN������������������������

    上一篇:redis 安装详解
    下一篇:《STM32从零开始学习历程》——CAN外设-模式及波特率

    发表评论

    最新留言

    感谢大佬
    [***.8.128.20]2025年04月19日 19时27分55秒