在使用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位
阅读(3303) | 评论(1) | 转发(0) |