STM32F103固件库编程(8)—CAN通讯

CAN寄存器

在这里插入图片描述

工作模式

正常模式:可向总线发送和接收
静默模式:不能向总线发送,但可接收
在这里插入图片描述
回环模式:能向总线发送,接收的是发送端的数据(收不到总线的数据)
在这里插入图片描述
回环静默模式:不能向总线发送和接收
在这里插入图片描述

位序

在这里插入图片描述

接收筛选器

在这里插入图片描述

在这里插入图片描述

CAN的初始化结构体

typedef struct
{
  uint16_t CAN_Prescaler;   
  uint8_t CAN_Mode;         
  uint8_t CAN_SJW;        
  uint8_t CAN_BS1;        
  uint8_t CAN_BS2;         
  FunctionalState CAN_TTCM; 
  FunctionalState CAN_ABOM;
  FunctionalState CAN_AWUM;  
  FunctionalState CAN_NART;  
  FunctionalState CAN_RFLM;  
  FunctionalState CAN_TXFP;  
} CAN_InitTypeDef;


typedef struct
{
  uint16_t CAN_FilterIdHigh;        
  uint16_t CAN_FilterIdLow;        
  uint16_t CAN_FilterMaskIdHigh;   
  uint16_t CAN_FilterMaskIdLow;     
  uint16_t CAN_FilterFIFOAssignment; 
  uint8_t CAN_FilterNumber;         
  uint8_t CAN_FilterMode;          
  uint8_t CAN_FilterScale;         
  FunctionalState CAN_FilterActivation; 
} CAN_FilterInitTypeDef;


typedef struct
{
  uint32_t StdId; 
  uint32_t ExtId;  
  uint8_t IDE;  
  uint8_t RTR;    
  uint8_t DLC;    
  uint8_t Data[8];
} CanTxMsg;



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;

发布了35 篇原创文章 · 获赞 4 · 访问量 4025

猜你喜欢

转载自blog.csdn.net/qq_42589654/article/details/104513930