阿波罗STM32F767的CAN接口与自己开发的STM32F103的CAN接口通信问题

2019-07-20 15:15发布

我用阿波罗STM32F767的CAN接口与自己开发的STM32F103的CAN接口通信,发现自环模式下两个板子都能正常接收,但正常工作时通信不上。而且正常通行时STM32F767的CAN接口发送数据会错误(我用的是开发板自带的例程)。速率设置都是500K,第一次搞CAN通信,不知道问题在什么地方?请问研究过CAN的大神们指导是怎么回事吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
likearm
1楼-- · 2019-07-20 18:48
 精彩回答 2  元偷偷看……
taizonglai
2楼-- · 2019-07-21 00:25
很大可能是波特率的问题。
hbyue
3楼-- · 2019-07-21 00:39
 精彩回答 2  元偷偷看……
likearm
4楼-- · 2019-07-21 06:19
hbyue 发表于 2017-4-14 14:43
canh、canl的gpio配置成复用推挽,外设时钟打开,计算好can的时钟和波特率,再确认下。

阿波罗STM32F767的CAN设置:
__HAL_RCC_CAN1_CLK_ENABLE();                //ê1ÄüCAN1ê±Öó
    __HAL_RCC_GPIOA_CLK_ENABLE();                                                    //¿aÆôGPIOAê±Öó
       
    GPIO_Initure.Pin=GPIO_PIN_11|GPIO_PIN_12;   //PA11,12
    GPIO_Initure.Mode=GPIO_MODE_AF_PP;          //íÆíì¸′óÃ
    GPIO_Initure.Pull=GPIO_PULLUP;              //éÏà-
    GPIO_Initure.Speed=GPIO_SPEED_FAST;         //¿ìËù
    GPIO_Initure.Alternate=GPIO_AF9_CAN1;       //¸′óÃÎaCAN1
    HAL_GPIO_Init(GPIOA,&GPIO_Initure);         //3õê¼»ˉ
likearm
5楼-- · 2019-07-21 06:54
波特率设置:
CAN1_Mode_Init(CAN_SJW_1tq,CAN_BS2_6tq,CAN_BS1_11tq,6,CAN_MODE_NORMAL);对应Fpclk1=54M,那么波特率应该为500K.
likearm
6楼-- · 2019-07-21 08:36
 精彩回答 2  元偷偷看……

一周热门 更多>