STM32的CAN程序

STM32的CAN程序

ID:40490984

大小:24.97 KB

页数:9页

时间:2019-08-03

STM32的CAN程序_第1页
STM32的CAN程序_第2页
STM32的CAN程序_第3页
STM32的CAN程序_第4页
STM32的CAN程序_第5页
资源描述:

《STM32的CAN程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include"sysdef.h"  #defineMAX_MAIL_NUM 3//CAN总线调试:0=运行1=自环调试#defineCAN_DEBUG    0//CAN总线波特率:0=250kbps,1=500kbps,2=1Mbps#defineCAN1_BPS     0  unsignedcharcan1_addr=0;  unsignedshort Can1_Tx_Count=0;unsignedshort Can1_Rx_Count=0;  unsignedshort Can1_Send_Delay

2、=0;  unsignedchar  Can1_Send_Buf[10]={0xeb,0x90,0x01,0x55,0xAA};unsignedchar  Can1_Recv_Buf[10]={0};externint angle_num;externunsignedint angle_data;  static u8CAN_msg_num[MAX_MAIL_NUM];  //发送邮箱标记  voidCAN1_Config_init(void){     CAN_InitTypeDef       CAN_Init

3、Structure;     CAN_FilterInitTypeDef CAN_FilterInitStructure;       /*CANregisterinit*/     CAN_DeInit(CAN1);     CAN_StructInit(&CAN_InitStructure);        /*CANcellinit*///36MHz500Kbps     CAN_InitStructure.CAN_TTCM=DISABLE;//禁止时间触发通信模式     CAN_InitStructure

4、.CAN_ABOM=DISABLE;//软件对CAN_MCR寄存器的INRQ位进行置1随后清0后,一旦硬件检测                                        //到128次11位连续的隐性位,就退出离线状态     CAN_InitStructure.CAN_AWUM=DISABLE;//睡眠模式通过清除CAN_MCR寄存器的SLEEP位,由软件唤醒     CAN_InitStructure.CAN_NART=DISABLE;//CAN报文是否只发1次,不管发送的结果如何(成功/出

5、错或仲裁丢失)     CAN_InitStructure.CAN_RFLM=DISABLE;//在接收到溢出时FIFO未被锁定,当接收到FIFO报文未被读出,下一个收到的报文会覆盖原有的报文     CAN_InitStructure.CAN_TXFP=DISABLE;//发送的FIFO优先级由报文的标识符来决定       #ifCAN_DEBUG     CAN_InitStructure.CAN_Mode=CAN_Mode_LoopBack;#else     CAN_InitStructure.CAN_M

6、ode=CAN_Mode_Normal; #endif     //传输波特率       if(CAN1_BPS== 0)     {        CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;//重新同步跳跃宽度1个时间单位        CAN_InitStructure.CAN_BS1=CAN_BS1_12tq;//时间段1为9个时间单位        CAN_InitStructure.CAN_BS2=CAN_BS2_3tq;//时间段2为8个时间单位        CAN

7、_InitStructure.CAN_Prescaler=9;//36M/(1+12+3)/9=250kbps                                            //36M/(1+5+2)/9=500kbps                                           //36M(1+2+1)/9=1M     }     elseif(CAN1_BPS==1)     {        CAN_InitStructure.CAN_SJW=CAN_SJW_

8、1tq;//重新同步跳跃宽度1个时间单位        CAN_InitStructure.CAN_BS1=CAN_BS1_5tq;//时间段1为9个时间单位        CAN_InitStructure.CAN_BS2=CAN_BS2_2tq;//时间段2为8个时间单位        CAN_InitStructure.CAN_Prescaler=9;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。