基于STM32F103的485通讯
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
=
下图是转换器的连接:
=============================================================
=
在开发板上的原理图如下,短接1和3,短接2和4,把转换器引出的A对
应下图的A,引出的B对应下图的B
PA2--TX-485
复用推挽输出
50Mhz
PA3--RX-485
基于STM32F103的485通讯
由于PC没有485接口,所以配置了一个UT-2201转换器,485转232,转
换器的接口如下图所示:
=============================================================
=
下图是PC与转换器之间的连接线:
=============================================================
}
=
软件中重要的函数:
void USART2_IRQHandler(void)//串2中断函数
{
u8 res;
if(USART_GetITStatus(USART2, USART_IT_RXNE) !=RESET)//接收到数据
{
res =USART_ReceiveData(USART2);//;读取接收到的数据USART2->DR
模拟输入
50Mhz
PG3--CS-485
推挽输出
50Mhz
波特率9600,8位数据格式,1停止位,无校验
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占
据一个固定的时间长度。
=============================================================
RS485_TX_EN=1;//发送
delay_ms(1);
USART_SendData(USART2,res);
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=1);
//接收
}
USART_ClearFlag(USART2,USART_FLAG_TC);
下图是转换器的连接:
=============================================================
=
在开发板上的原理图如下,短接1和3,短接2和4,把转换器引出的A对
应下图的A,引出的B对应下图的B
PA2--TX-485
复用推挽输出
50Mhz
PA3--RX-485
基于STM32F103的485通讯
由于PC没有485接口,所以配置了一个UT-2201转换器,485转232,转
换器的接口如下图所示:
=============================================================
=
下图是PC与转换器之间的连接线:
=============================================================
}
=
软件中重要的函数:
void USART2_IRQHandler(void)//串2中断函数
{
u8 res;
if(USART_GetITStatus(USART2, USART_IT_RXNE) !=RESET)//接收到数据
{
res =USART_ReceiveData(USART2);//;读取接收到的数据USART2->DR
模拟输入
50Mhz
PG3--CS-485
推挽输出
50Mhz
波特率9600,8位数据格式,1停止位,无校验
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占
据一个固定的时间长度。
=============================================================
RS485_TX_EN=1;//发送
delay_ms(1);
USART_SendData(USART2,res);
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=1);
//接收
}
USART_ClearFlag(USART2,USART_FLAG_TC);