CAN的收发函数

一。发送

1,基础知识

2.发送函数

3.发送函数F1开发板和F4开发板的区别(左边是F1,右边是F4

注意:有不同的:在标识符中,F1开发板用的是宏定义,F4开发板用的是数值,宏定义和数值是一样的。

4.STM32F1开发板的发送函数注意事项:

        1.Msg数据指针,也是我们要发送的内容,也就是我们要发送的缓冲区的首地址

        2.len发送的数据长度0~8.

        3.发送格式:以0x12这种12位的固定ID格式发送

        4.mbox发送邮箱是通过后面的CAN_Transmit进行查询才能知道我们用的邮箱是哪一个

        5.CanTxMsg   TxMessage这个是定义的结构体

        6.StdId是标准ID      ExtId是扩展ID   

        7.IDE是标准帧

        8.  TxMessage.Data一个数组

       

        9.  while((CAN_TransmitStatus(CAN1, mbox)==CAN_TxStatus_Failed)&&(i<0XFFF))i++;

                   这句话意思是

              根据查询状态寄存器,是不是发送失败了,发送失败的话,需要等待一段时间,

              如果还是失败,就返回1,失败,返回0,发送成功。


二。接收

1,基础知识

注意:报文FIFO具有锁定功能(由CAN_MCR,RFLM位控制),锁定后,新数据将丢弃,

          不锁定则新数据将替代老数据

2,接收函数

三,STM32的CAN位时序

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值