优快云的第一篇博客,记录个自己犯的大傻,也希望对之后看到的人能够有所帮助,不要像我一样调几天才发现。
直奔主题,我是在原子哥F407例程的基础上想实现双机CAN通讯
我用的核心板为STM32-F407ZGT6,原理图上看到PA11、PA12引脚可以复用为CAN1_RX和CAN1_TX,在与CAN收发器接线时不要接错,PA11与收发器TXD相连,PA12与收发器RXD相连。收发器建议用HVP230,可以用板子3.3V供电;TJA1050也可以,不过需要5V供电,这点需要注意。
CAN的初始化:
u8 CAN1_Mode_Init(u8 tsjw,u8 tbs2,u8 tbs1,u16 brp,u8 mode)
{
GPIO_InitTypeDef GPIO_InitStructure;
CAN_InitTypeDef CAN_InitStructure;
CAN_FilterInitTypeDef CAN_FilterInitStructure;
//时钟使能
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//PORTA时钟使能
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);//CAN1时钟使能
//GPIO初始化
GPIO_InitStructure.GPIO_Pin