编写程序实现MSP432P401r单片机中eUSCI模块之间的三线制SPI通信。其中,一个eUSCI_B0模块作为主机,另一个eUSCI_B2模块作为主机,主机从0X01开始发送递增字节,从机将接收到正确的字节时,P1.0LED灯会闪烁。同时,从机接收到的数据又会发回给主机,主机接收到正确数据,P2.2LE灯会闪烁:要求:三线,8位数据,空闲位高电平,高位优先:
#include <ti/devices/msp432p4xx/driverlib/driverlib.h>
/* Standard Includes */
#include <stdint.h>
#include <stdbool.h>
uint8_t RXData = 0;
uint8_t TXData = 0;
uint32_t i;
//主机初始化参数
const eUSCI_SPI_MasterConfig spiMasterConfig =
{
EUSCI_B_SPI_CLOCKSOURCE_SMCLK, // SMCLK Clock Source
3000000, // SMCLK = DCO = 3MHZ
500000, // SPICLK = 500khz
EUSCI_B_SPI_MSB_FIRST, // MSB First
EUSCI_B_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT, // Phase
EUSCI_B_SPI_CLOCKPOLARITY_INACTIVITY_HIGH, // High polarity
EUSCI_B_SPI_3PIN // 3Wire SPI Mode
};
//从机初始化参数
const eUSCI_SPI_SlaveConfig spiSlaveConfig =
{
EUSCI_B_SPI_MSB_FIRST,