173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

stm32f407的485的配置

keros@mark 2023-03-18 资讯中心

如何在STM32串口上实现Modbus485通讯

你使用PA9与PA10脚加一个控制引脚控制柜MAX485芯片,然后走MODBUS通信协议即可!

stm32如何通过rs485进行数据采集

STM32是无法直接实现RS485总线的,你可以通过下面方式来实现:

选择STM32内部的一个UART部件,作为串行的接口;

将该UART信号线连接到一个485的驱动芯片,如MAX485,实现电平的转换,这样就可以实现RS485总线了。

上述是实现了RS485的物理层面功能,以这个为基础,通过设计相应的数据格式,就可以实现RS485的数据采集了。

STM32F407单片机UART串口gpio口复用功能配置问题

关于STM32的USART配置,需要完成以下几个步骤

1,打开USART时钟

2,配置PA9及PA10

由于USART属于可选功能项

所以TX要设置成GPIO_Mode_AF_PP;,即复用推挽输出

RX用于数据输入,被设置成浮空输入

这是由于STM32的IO口引脚总共只有以下几种模式

GPIO_Mode_AIN = 0x0,

GPIO_Mode_IN_FLOATING = 0x04,

GPIO_Mode_IPD = 0x28,

GPIO_Mode_IPU = 0x48,

GPIO_Mode_Out_OD = 0x14,

GPIO_Mode_Out_PP = 0x10,

GPIO_Mode_AF_OD = 0x1C,

GPIO_Mode_AF_PP = 0x18

对于特殊功能模式,只有一个复用开漏及复用推挽。

这两种都是用于输出的情况。

所以RX只能被设置成浮空输入

这不仅是USART,对于其他的如SPI也是如此。

在STM32F407裸板上运行RS485串口收发都是正确的,可是在RT-thread系统下同样

在中断关闭期间系统将不再响应任何中断,也就不能响应外部的事件。

所以中断锁对系统的实时性影响非常巨大,当使用不当的时候会导致系统完全无实时性可言(可能导致系统完全偏离要求的时间需求);

而使用得当,则会变成一种快速、高效的同步方式。

stm32---RS485半双工通信

典型的串口通信标准有 RS232 和 RS485,RS232 是全双工点对点的通信,而 RS485 是半双工通信(2 线制),可以一点对多点进行组网,而且 RS485 是用缆 线两端的电压差值来表示传递信号,这与 RS232 电气特性大不一样。RS485 仅仅 规定了接受端和发送端的电气特性,并没有规定或推荐任何数据协议,因此 RS485 的协议层可以和 RS232 一样。

发送数据时,串口控制器的 TX 信号经过 收发器转换成差分信号传输到总线上,而接收数据时,收发器把总线上的差分信 号转化成 TTL 信号通过 RX 引脚传输到串口控制器中

SP3485是板子上的收发器。对收发器,RO是接收输出端,DI是发送数据输入端, RE 是接收使能信号(低电平有效), DE 是发送使能信 号(高电平有效)

开发板把RE和DE共同连接到了PG3,用高低电平来表示是输出有效还是接收有效。

本次列程是用USART2

rs485.c

rs485.h

main.c

本文标签:stm32f407的485的配置

产品列表
产品封装
友情链接