RS485通讯实验
1.硬件:
STM32的串口管教加一个485芯片控制IO:


还需要一个USB 转485转换器,一端接485AB,USB口插PC上用串口助手查看数据。

注意点:以板子为核心,PC12置1为向外发送数据,PC12置0为向内接收数据。
2.代码,效果就是串口3发送5字节数据后收到同样5字节数据的返回:
rs485.h文件:
#ifndef RS485_RS485_H_
#define RS485_RS485_H_
#include "Sys.h"
u8 RS485_RX_CNT;
//接收缓存区
u8 RS485_RX_BUF[64]; //接收缓冲,最大64个字节.;
void RS485_Send_Data(u8 *buf,u8 len);
void RS485_Receive_Data(u8 *buf,u8 *len);
#endif /* RS485_RS485_H_ */
rs485.c文件:
#include "rs485.h"
#include "Uart.h"
volatile unsigned char RS485_REC_Flag = 0;
//接收缓存区
u8 RS485_RX_BUF[64]; //接收缓冲,最大64个字节.
//接收到的数据长度
u8 RS485_RX_CNT=0;
//RS485发送len个字节.
//buf:发送区首地址
//len:发送的字节数(为了和本代码的接收匹配,这里建议不要超过64个字节)
void RS485_Send_Data(u8 *buf,u8 len)
{
u8 t;
GPIO_SetBits(GPIOC,GPIO_Pin_12);
for(t=0;t<len;t++) //循环发送数据
{
while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET);
USART_SendData(USART3,buf[t]);
}
while(USART_GetFlagStat

本文介绍了一种基于STM32微控制器的RS485通讯实验,详细阐述了硬件连接方法,包括STM32串口与485芯片的接口配置,以及通过USB转485转换器实现PC端数据交换的过程。文中还提供了完整的代码示例,演示了如何通过串口发送和接收数据,并实现了数据的循环回传功能。
最低0.47元/天 解锁文章
4515

被折叠的 条评论
为什么被折叠?



