zoukankan      html  css  js  c++  java
  • vk3234rs485模式配置以及工作方式

    1 SCTLR 子串口控制寄存器:(0x06)-- Bit2 复位0 MDSEL 485 和232 模式选择控制位 -- W/R

      0:RS232收发模式
      1:RS485自动收发模式,该模式下,RTS 作为自动收发控制信号

    2 SCONR 子串口配置寄存器:(0x07)-- Bit2 复位1 AOD 子串口地址/数据模式选择位(工作在RS485 模式时)-- W/R

      0:允许接收所有数据字节
      1:只允许接收地址字节

    3 SADR 子串口自动识别地址寄存器:(0x0A)-- Bit7 – 0 复位值 0 RS485 模式子串口自动识别网络地址寄存器 -- W/R

        VK3234 的子串口支持RS485自动收发控制模式和自动网络地址识别模式,网络地址可见设置。在RS485模式下,只支持带9 位数据位,一位停止位的数据。在 RS485模式下,流量控制将被禁止。RTS 信号用于控制RS485收发器的自动收发控制。只有在发送数据时,RTS 才为高,其它情况下,RTS 都保持低。

        网络地址和自动地址识别:  RS485 模式下,每个UART 有一个唯一的网络地址,VK3234 提供了一个8 位寄存器进行RS485  网络设置。当自动网络地址识别功能使能时,VK3234 对接收到的数据进行自动识别。如果接收到的数据为数据字节或者是与SADR 中地址字节不匹配的地址字节时,VK3234 忽略这些数据。如果该子串口接收到的数据为地址字节,且与SADR 中的数据匹配,则VK3234 进入接收状态,将该地址字节后的数据字节写入接收FIFO 中。当该子串口在数据接收状态下,接收到一个地址字节,且该字节与SADR不匹配时,接收将被自动禁能。RS485模式下,SCONR子串口配置寄存器中的AOD位为数据地址选择位。其默认值为1,表明该子串口只接收地址字节而忽略数据字节。在RS485自动地址模式下,当接收到的地址与SADR的地址一致时,AOD将自动变为0,此时该子串口可以继续接收数据。当子串口接收到的下一个地址字节与SARD的地址不一致时,AOD位将自动置1,不再接收其后的数据字节。在RS485手动地址识别模式下,RS485地址由上层软件判断,AOD位需要手动设置。AOD设置为0时表明可以接收其后的所有数据,当AOD设置为1时,表明将忽略除了地址以外的所有数据。当接收到地址字节时,VK3234将产生中断,通知MCU将收到的地址字节进行判断,以决定是否设置AOD以接收其后的数据。当子串口设置为手动地址识别模式时,RS485网络地址总是可见。在子串口社设置为自动地址识别模式时,可以设置SCONR子串口配置寄存器中的AVEN位,改变网络地址可见属性。当设为地址可见时,接收到的网络地址进入接收FIFO,否则将被忽略。

  • 相关阅读:
    Leetcode 532.数组中的K-diff数对
    Leetcode 529.扫雷游戏
    定增游戏(三)
    套利不归路(五)
    定增游戏(一)
    套利不归路(四)
    套利不归路(三)
    套利不归路(二)
    套利不归路(一)
    减持大逃亡(二)
  • 原文地址:https://www.cnblogs.com/zym0805/p/2163254.html
Copyright © 2011-2022 走看看