This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR4133:MSP430FR4133 SPI 模式

Guru**** 1855160 points
Other Parts Discussed in Thread: MSP430FR4133
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1055222/msp430fr4133-msp430fr4133-spi-mode

器件型号: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, &param);

//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配合使用?

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您的中断代码中包含什么? 您可以在这里悬挂吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我没有中断代码、因为我没有激活任何 SPI 中断。  在代码中,我只测试 UCA0TXBUF 是否就绪....   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、高频率

    在论坛上发布代码时、请使用 按钮、以使用代码格式化工具使其可读。 我已经编辑过您的帖子以反映这一点。

    您能否在上面的第28行设置断点以查看您是否曾到达该断点?