SPI的初始化
2025年09月26日
4.SPI的初始化
系统复位时,SPI模块进入以下默认配置:
1)该模块被配置为一个从模块(位MASTER/SLAVE=0)。
2)发送功能被禁止(位TALK=0)。
3)在SPICLK信号的下降沿到来时,输入数据被锁存。
4)字符长度设定为1位。
5)SPI中断被禁止。
6)寄存器SPIDAT的数据复位为0。
7)SPI的4个引脚被设置为通用I/O功能。
为了改变SPI模块在复位后的这种设置,需要在复位后,进行如下初始化操作:
①设置SPI SW RESET位(SPICCR.7)的值为0,强制SPI复位。
②初始化SPI的配置、格式、波特率和引脚功能为期望值。
③设置SPI SW RESET位为1,从复位状态释放SPI。
④向寄存器SPIDAT或SPITXBUF写数据,这将初始化主器件的通信过程。
⑤数据发送完成后(位SPISTS.6=1),读取寄存器SPIRXBUF以确定接收的数据。