×
单片机 > 单片机程序设计 > 详情

基于STM32F103的485通讯

发布时间:2020-05-29 发布时间:
|

由于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);

==============================================================

发送的数据是一个字节(如果想要多个字节发送,则可以用一个数组)

开发板返回发送的字节


关键字:STM32F103  485通讯 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机中高阻态的实质及意义