RS485是主流的一种多机通信方式,多用于不同设备间的数据传送。最常见的是主控板和485接口的传感器间的通信。下面介绍常用的通信方式及代码,包括常用的CRC校验。
初始化代码:(初始化控制引脚(收发)和对应串口(看硬件连接))
//bound:波特率
void RS485_Init(u32 bound)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);//使能GPIOE时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //PE1端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOE, &GPIO_InitStructure);
USART2_Init_JAVE( bound);
RS485_TX_EN=0; //默认为接收模式
}
串口初始化部分代码不再介绍,其中RS485_TX_EN是控制引脚输出低,为接收模式。
|