CAN

1.CAN通讯特点

  a.采用总线方式可挂载单元多理论上没有上限,速度快,距离远

  b.CAN显性电平对应逻辑0压差2V,隐形电平对应逻辑1压差0V,显性电平具有优先权,

  c.CAN有5种帧,数据帧,遥控帧分为标准帧(11位标识符)ID和扩展帧(29位标识符)ID

  d.数据帧由7个段组成

  e.波特率=系统时钟/((tq+tbs1+tbs2)*分频系数)  单位kb

  f.CAN可以根据接收数据帧的ID判断属于哪个单元

  g.CAN有过滤器与RS485对比485没有过滤器,过滤器可以减少组网过程中其他单元的CPU不必要的处理

2.HAL库函数

  a.用CAN通讯必须要开启过滤器

  b.库函数必须接收报文可以先判断ID

  c.用HAL库则必须要添加以下几段代码作为缓冲区 

  

void CAN_Config(void)
{
    

    hcan.pRxMsg=&Rxmessage;
    hcan.pTxMsg=&Txmessage;
   //后面过滤器函数省略 

 

posted @ 2019-05-04 17:39  q601785959  阅读(229)  评论(0编辑  收藏  举报