stm32F105 can波特率配置问题

2019-07-14 15:17发布

研究STM32的双can有段时间了 一直有个问题一直没搞定,我初始化设置成500K,当 can总线上为500K时程序不会自动配置成相同的波特率.当总线上为125K是就会自动配置成125K       请大神们看看要怎么弄,
以下是我的部分代码:
#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "can.h"


int main(void)
{            
    Bsp_Init();
         
  while(1)
        {
            
        c1Sendc2Data();
        c2Sendc1Data();
            
            if (CAN_MessagePending(CAN1,CAN_FIFO0)==0) 检测有没有报文 没有就配置成125K
            {
        CAN_Mode_Init(CAN_SJW_1tq,CAN_BS1_16tq,CAN_BS2_1tq,8,CAN_Mode_Normal);
            Delay(1);
              }
        IWDG_ReloadCounter();
         }
}


void Bsp_Init(void)
{
  Delay_Init();
    Delay(3);                      //ÑÓʱ3Ãë  µÈ´ýµçÔ´ÉϵçÎȶ¨ºó µ¥Æ¬»úÔÙÕý³£¹¤×÷¡£
  LED_Init();
  BEEP_Init();
    KEY_Init();
  SFQpw=1;
    LED=1;
    BEEP=1;
    SFQout=1;
    SFQin=1;
//    USART_Configuration();
    CAN_Mode_Init(CAN_SJW_1tq,CAN_BS1_16tq,CAN_BS2_1tq,4,CAN_Mode_Normal);    这里初始化设置can波特率设为500K
//    NVIC_Configuration();
//    CAN_Filter_config();
//        IWDG ...
    IWDG_Configuration();

}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。