请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR4133 你好。
我正在 使用 SPI 测试 MSP430FR4133芯片。
时钟频率 MCLK 和 SMCLK 为8MHz、ACLK 为32.768KHz (全部经过测试)
SPI init code is below;
GPIO_setAsPeripheralModuleFunctionInputPin(
GPIO_PORT_P1,
GPIO_PIN0 + GPIO_PIN1 + GPIO_PIN2,
GPIO_PRIMARY_MODULE_FUNCTION
);
//Initialize Master
EUSCI_A_SPI_initMasterParam param = {0};
param.selectClockSource = EUSCI_A_SPI_CLOCKSOURCE_SMCLK;
param.clockSourceFrequency = 8000000;
param.desiredSpiClock = param.clockSourceFrequency / 4;
param.msbFirst = EUSCI_A_SPI_MSB_FIRST;
param.clockPhase = EUSCI_A_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT;
param.clockPolarity = EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_HIGH;
param.spiMode = EUSCI_A_SPI_3PIN;
EUSCI_A_SPI_initMaster(EUSCI_A0_BASE, ¶m);
//Enable SPI module
EUSCI_A_SPI_enable(EUSCI_A0_BASE);
and code in main is;
for(;;)
{
while (!EUSCI_A_SPI_getInterruptStatus(EUSCI_A0_BASE, EUSCI_A_SPI_TRANSMIT_INTERRUPT));
EUSCI_A_SPI_transmitData(EUSCI_A0_BASE, 0xAA);
_delay_cycles(8000000); //1 sec interval
}
在这种情况下、SPI 工作正常(我使用逻辑分析仪测量了 SCK 和 MOSI 线路)
但是、当我更改下面的代码时;
param.clockPolarity = EUSCI_A_SPI_CLOCKPOLARITY_INACT_LOW;
SCK 和 MOSI 上没有任何信号...
MSP430FR4133存在错误? 为什么 SPI 不能与时钟极性0配合使用?