NXP

关于LPC24xx的SPI的SSEL脚的一些理…

2019-07-12 12:35发布

SSEL是一个从机选择脚,低电平有效,用于指示被选择参与数据传输的从机。每个从机都有各自特定的从机选择输入信号。在数据处理之前,SSEL必须为低电平并在整个处理过程中保持低电平。如果在数据传输中SSEL信号变为高电平,传输将被中止。这种情况下,从机返回到空闲状态并将任何接收到的数据丢弃。   我看例程中初始化SPI控制器为从机时 SPIInit的时候SSEL为spi功能,为11值。   PINSEL0 |=  0xc0000000;                        
PINSEL1 |= 0x03 | (0x03 << 2) | (0x03 << 4);     关于LPC24xx的SPI的SSEL脚的一些理解,也许不太对,希望指正!

然而在为控制器为主机时,SPIInit的时候SSEL用的是通用IO功能,为00值。 #define  SPI_CS        (1 << 16)                 IO0DIR  |=  SPI_CS;                          
PINSEL0 |=  0xc0000000;                        
PINSEL1  = (0x03 << 2) | (0x03 << 4);           最后说明一下LPC24xx作SPI主机的话,只要P0.16管脚不选择SSEL功能,同样可以用作GPIO功能,当然如果P0.16选择为SSEL功能时,则一定需要接上拉电阻。否则不能正常通讯。 所以无论做主机还是做从机都可以用SSEL功能,但是做主机是必须需要接上拉电阻,否则只能用做GPIO功能。