S3C6410 SPI中PCLK_GATE和SCLK_GATE的理解

在使用S3C6410 SPI进行通信时,首先要设置SPI的控制寄存器,但是经过查看大量代码后,发现在设置SPI的一系列的寄存器时要先设置S3C6410中PCLK_GATE和SCLK_GATE寄存器与SPI相关的位,在大量的调试之后终于发现了规律:

假如使用的是SPI0进行通信:
    设置PCLK_GATE的21位:当该位为0时,不能往SPI相关的寄存器写值;为1时,可往SPI相关的寄存器写值。
    设置SCLK_GATE的20位:当该位为0时(若设置了PCLK_GATE的21位为1),不能从SPI的移位寄存器读取值;为1时(
若设置了PCLK_GATE的21位为1 ),可以从SPI的移位寄存器读出值。
    所以当要使用S3C6410 SPI的一系列的控制寄存器时,要先设置这两个寄存器。SPI1同理,在PCLK_GATE与SCLK_GATE中分别为21和22位

你可能感兴趣的:(SPI)