<br /><br /> 在《深入浅出ARM7LPC213x》上册的SPI主机实验中初始化接口代码如下:<br />void MSPI_Init(void)<br />{ <br /> SPCCR = 0x52; // 设置SPI时钟分频<br /> SPCR = (0 << 3) | // CPHA = 0, 数据在SCK 的第一个时钟沿采样<br /> (1 << 4) | // CPOL = 1, SCK 为低有效<br /> (1 << 5) | // MSTR = 1, SPI 处于主模式<br /> (0 << 6) | // LSBF = 0, SPI 数据传输MSB (位7)在先<br /> (0 << 7); // SPIE = 0, SPI 中断被禁止<br />}<br /><br />请问SPI时钟分频设置为0x52的依据是什么?<br />而在《深入浅出ARM7LPC213x》下册的SPI初始化如下:<br />uint8 SPIInit(uint8 Fdiv)<br />{<br /> <br /><br /> SPI_SPCCR = Fdiv & 0xfe; /* 分频值 */<br /> SPI_SPCR = 0xa0 | SPI_MOD; /* 主机、允许中断 */<br />}<br />这里的分频值设为0x80 & 0xfe,不同于上册的0x52,且SPCR的设置也不同于上册,ZLG大侠能否解释下?<br /> <br /> <br /> |
|