基于MSP430的SPI驱动编写之用MSP430驱动AFE4400

 MSP430单片机称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供"单片机"解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中。平常工作中,如果使用MSP430作为主控芯片,经常会遇到需要编写SPI 或 I2C 驱动,来读取和控制外设(比如LCD屏幕,一些传感器)的情况。为了减少重复性工作,本文以具体实例来总结SPI驱动编写的详细步骤(用MSP430FR6989来驱动集成模拟前端AFE4400):

 
单片机SPI引脚设置
 
SPI读写时序设置
 
寄存器写入
 
写在最后
 
单片机SPI引脚设置
 
一般SPI有3线和4线之分,区别在于是否带片选端——STE引脚,4个引脚功能说明:
 
UCxS0MI:主模式数据输入,从模式下数据输出;
 
UCxSIMO:主模式数据输出,从模式下数据输入;
 
UCxCLK:USCI SPI的时钟;
 
UCxSTE:USCI SPI的使能端;
 
引脚设置代码:
基于MSP430的SPI驱动编写之用MSP430驱动AFE4400
 
SPI读写时序设置
 
根据的数据手册,读懂模块的SPI读写时序是编写成功的关键步骤!!!
 
以下是AFE4400的SPI读写时序图:
基于MSP430的SPI驱动编写之用MSP430驱动AFE4400
读数据时:拉低STE,先发送一个字节的寄存器地址给AFE4400,等待一会后,AFE4400会返回该地址的数据到单片机,一个字节一个字节地发送,共3个字节24位数据。(单片机需要一次发送 三次接收)
 
写数据时:拉低STE,先发送想要写入的寄存器地址,然后依次发送3个字节24位的数据,就可以改变AFE4400中相应寄存器的数据。(单片机需要一次发送 三次接收)
 
SPI读取AFE4400寄存器值的代码:
基于MSP430的SPI驱动编写之用MSP430驱动AFE4400