在远间隔通讯中,难免受搅扰,因而,巨大的牛人们就发明了一种差分传输的方法——RS485通讯方法(以下简称RS485)。RS485由两根差分线来传输数据,比起RS232来说,其传输的间隔更远,搞搅扰性更强。当然,也为了节约银子,因而,只保留了一组差分线,也就只能完结同一时间只接纳或发送数据的半双工通讯了。
在规划中,咱们常常运用一个名为Max485的芯片来完结TTL电平至差分电平的转化,这款芯片有一个DE(发送使能)引脚操控着RS485线的数据传输方向,而这个引脚何时高电平,何时低电平对咱们的数据交换质量也就起着严重的效果。
咱们先来看一下DE引脚的效果。当主设备完结发送后,其需要在1byte的时间内开释RS485总线,否则从设备在收到数据后,再回送数据时就会与主设备对总线占用的问题而发生抵触,这在RS485总线上是不允许的——RS485总线没有裁定机制。因而,DE引脚就需要在主设备发送完结最终一个字节的最终一位数据的一位时间内将DE引脚从高电平拉到低电平。
STM32微处理器供给一个运用实例来完结准确、高效地操控DE引脚。这儿咱们运用DMA方法经过UART发送与接纳数据,那么咱们将会用到DMA发送完结中止与USART发送完结中止。DMA操控器监控着整个发送进程,待发送数据将会不断地被存入USART数据寄存器直到DMA计数减至零。当DMA发送完结后将触发DMA发送完结中止,咱们就在这个中止中,将DE引脚的电平拉低。
我亲爱的网友们,你们学会了吗?