美文网首页单片机学习
stm32学习——CAN通信

stm32学习——CAN通信

作者: 三横一竖是我 | 来源:发表于2018-08-09 23:31 被阅读2次

    CAN基础知识介绍

    串行通信协议
    1.多主控制,两个以上单位发送消息,根据标识符(ID)决定优先级
    2.系统柔软性总线上添加单元,已连接的其他单元不需要改变
    3.具有错误检测,错误通知,错误恢复
    4.故障封闭错误
    5.连接节点多
    CAN 控制器根据CAN_L和CAN_H上的电位差判断总线电平,电线总电平分为D显性电平(之差为2V)和R隐形电平(之差为0V)
    显性电平具有优先权

    帧种类

    帧种类.PNG

    数据帧由7个段组成
    帧起始,仲裁段,控制段,数据段,CRC段(检查传输错误),ACK段(确认正常传输),帧结束
    重点掌握四个重点:标识符,数据帧的构成,总线仲裁,位时序

    CAN控制原理与配置

    stm32自带基本扩展CAN外设,又称bxCAN
    三种模式


    模式.PNG

    工作模式:通过CAN_MCR寄存器控制INRQ和SLEEP
    测试模式:通过CAN_BTR寄存器控制LBKM和SILM

    标志符筛选器

    筛选器可配置为屏蔽位模式和标识符列表模式,屏蔽位模式下,标识符寄存器和屏蔽寄存器一起,指定报文标识符的任何一位

    为了过滤一组标识符,设置屏蔽位模式
    为了过滤一个标识符,设置标识符列表模式
    通过CAN_FFA1R的设置,可以筛选关联到FIFO0/FIFO1


    掩码.PNG

    CAN发送流程

    流程.PNG

    初始化流程

    初始化流程

    CAN初始化函数名 :u8 CAN_Mode_Init()
    发送函数 u8 CAN_Send_Msg(u8* Msg,u8 len)
    接收函数 u8 CAN_Receive_Msg(u8 *buf)

    相关文章

      网友评论

        本文标题:stm32学习——CAN通信

        本文链接:https://www.haomeiwen.com/subject/lrfqbftx.html