我想通过 TXD 引脚使用 USART 将 ATMEGA32 微控制器连接到移位寄存器,然后移位寄存器对接收到的数据执行串行到并行转换。但如您所知,移位寄存器需要时钟,此时钟通过微控制器通过 XCK 引脚以波特率频率馈送(此处 USART 充当主同步时钟发生器)。我的问题是我不知道如何从 XCK 中获取这些时钟信号,那么该怎么做呢???
谢谢
我想通过 TXD 引脚使用 USART 将 ATMEGA32 微控制器连接到移位寄存器,然后移位寄存器对接收到的数据执行串行到并行转换。但如您所知,移位寄存器需要时钟,此时钟通过微控制器通过 XCK 引脚以波特率频率馈送(此处 USART 充当主同步时钟发生器)。我的问题是我不知道如何从 XCK 中获取这些时钟信号,那么该怎么做呢???
谢谢
RS-232 是自时钟(固定波特率) - 它通常使用提供给 UART 的 x16 时钟,该 UART 与传入的数据起始位边缘同步。与其使用裸移位寄存器,不如使用一个简单的 UART 芯片作为串行到并行转换器,这可能会节省很多精力。
我认为使用 UART 作为移位寄存器不是一个好主意。最好使用 SPI 通信模式,因为它还提供移位寄存器所需的时钟。但是,如果您想使用 UART,那么您将必须提供一个与您为 UART 模式选择的波特率同步的单独 clk,我认为这将非常困难且不准确。