由于PC没有485接口,所以配置了一个UT-2201转换器,485转232,转换器的接口如下图所示:
==============================================================
下图是PC与转换器之间的连接线:
==============================================================
下图是转换器的连接:
==============================================================
在开发板上的原理图如下,短接1和3,短接2和4,把转换器引出的A对应下图的A,引出的B对应下图的B
PA2--TX-485
复用推挽输出
50Mhz
PA3--RX-485
模拟输入
50Mhz
PG3--CS-485
推挽输出
50Mhz
波特率9600,8位数据格式,1停止位,无校验
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
==============================================================
软件中重要的函数:
void USART2_IRQHandler(void)//串2中断函数
{
u8 res;
if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)//接收到数据
{
res =USART_ReceiveData(USART2);//;读取接收到的数据USART2->DR
RS485_TX_EN=1;//发送
delay_ms(1);
USART_SendData(USART2,res);
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=1);
delay_ms(2);
RS485_TX_EN=0;//接收
}
USART_ClearFlag(USART2,USART_FLAG_TC);
}
==============================================================
发送的数据是一个字节(如果想要多个字节发送,则可以用一个数组)
开发板返回发送的字节
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』