往常作业中,假如运用MSP430作为主控芯片,经常会遇到需求编写SPI 或 I2C 驱动,来读取和操控外设(比方LCD屏幕,一些传感器)的状况。为了削减重复性作业,本文以具体实例来总结SPI驱动编写的具体过程(用MSP430FR6989来驱动集成模仿前端AFE4400):
单片机SPI引脚设置
SPI读写时序设置
寄存器写入
写在最终
单片机SPI引脚设置
一般SPI有3线和4线之分,差异在于是否带片选端——STE引脚,4个引脚功用阐明:
UCxS0MI:主形式数据输入,从形式下数据输出;
UCxSIMO:主形式数据输出,从形式下数据输入;
UCxCLK:USCI SPI的时钟;
UCxSTE:USCI SPI的使能端;
引脚设置代码:
SPI读写时序设置
依据的数据手册,读懂模块的SPI读写时序是编写成功的关键过程!!!
以下是AFE4400的SPI读写时序图:
读数据时:拉低STE,先发送一个字节的寄存器地址给AFE4400,等候一会后,AFE4400会回来该地址的数据到单片机,一个字节一个字节地发送,共3个字节24位数据。(单片机需求一次发送 三次接纳)
写数据时:拉低STE,先发送想要写入的寄存器地址,然后顺次发送3个字节24位的数据,就能够改动AFE4400中相应寄存器的数据。(单片机需求一次发送 三次接纳)
SPI读取AFE4400寄存器值的代码:
SPI把数据写入AFE4400寄存器中的代码:
寄存器写入
完结以上两步咱们后,AFE4400就能够乖乖地为咱们所用,十分听咱们的话!经过检查寄存器功用手册,写入相应的值对AFE4400的功用进行装备,能够完成咱们想要的功用。
AFE4400的一些寄存器: