7.2.5 SPI同步操作应用举例
eUSCI模块初始化方法如下:
1)置位UCSWRST=1;
2)在UCSWRST=1的前提下,初始化所有的eUSCI寄存器;
3)通过软件清除UCSWRST;
4)通过置位UCRXIE和/或UXTXIE使能中断。
具体可参考应用实例中关于eUSCI寄存器初始化部分的程序。
【例7.2.1】编写程序实现两块MSP432P401r单片机之间的三线制SPI通信。其中,一块单片机作为主机,另一块单片机作为从机。主机从0x01开始发送递增字节,从机将接收到的字节再原封不动地发送给主机,P1.0 LED会闪烁。
1)MSP432P401r单片机作为主机的SPI通信程序如下:
2)MSP432P401r单片机作为从机的SPI通信程序如下:
可利用两块MSP432P401r Launchpad实验板作为硬件平台来调试该程序,硬件连接示意图如图7-23所示。
首先将从机程序烧写至一块Launchpad中,再将主机程序烧写至另外一块Launchpad中,并在线调试主机,调试界面如图7-24所示。在中断服务程序语句RXData=UCB0RXBUF处设置断点,并将RxData变量送至观察窗口。当程序在此处暂停时,可利用观察窗口和寄存器窗口查看接收缓冲寄存器UCA0RXBUF和RxData是否相等,进而判断接收数据是否正确。
7.3 eUSCI的I2C模式
7.3.1 I2C概述
知识点:I2C(Inter-Integrated Circuit)总线是一种由Philips公司开发的两线制串行总线,是用于内部IC(集成电路)控制的具有多端控制能力的双线双向串行数据总线系统,能够用于替代标准的并行总线,连接各种集成电路和功能模块。I2C器件能够减少电路间的连接,减少电路板尺寸,降低硬件成本,并提高系统的可靠性。I2C总线传输模式具有向下兼容性,传输速率标准模式下可达100kbps,快速模式下可达400kbps,高速模式下可达3.4Mbps。其使得I2C总线能够支持现有以及将来的高速串行传输应用,例如,EEPROM和Flash存储器。
MSP432单片机的eUSCI_B模块能够支持I2C通信,能够为MSP432单片机及I2C兼容的设备互联提供接口。软件上只需要完成I2C功能的配置,硬件就能够完全实现I2C通信的功能。与利用GPIO软件实现I2C操作相比较,能够减少CPU的负荷。
为了清楚起见,在此对I2C通信中关于设备的基本概念进行简要讲解。
1)发送设备:发送数据到总线上的设备。
2)接收设备:从总线上接收数据的设备