Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 3634

Msp432的spi时钟极性为什么一直是高电平(空闲),配置为啥无效,是芯片的问题吗?

$
0
0

SPI 初始化:

/* Configure CLK, MOSI & MISO for SPI0 (EUSCI_B0) */
MAP_GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_P1,
GPIO_PIN5 | GPIO_PIN6, GPIO_PRIMARY_MODULE_FUNCTION);
MAP_GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P1,
GPIO_PIN7, GPIO_PRIMARY_MODULE_FUNCTION);

/* Configure CLK, MOSI & MISO for SPI1 (EUSCI_B2) */
// MAP_GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_P3,
// GPIO_PIN5 | GPIO_PIN6, GPIO_PRIMARY_MODULE_FUNCTION);
// MAP_GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P3, GPIO_PIN7,
// GPIO_PRIMARY_MODULE_FUNCTION);

MSP_EXP432P401R_initDMA();
SPI_init();

SPI open如下

SPI_Params_init(&spiParams);
spiParams.bitRate = 1000000;
spiParams.mode = SPI_MASTER;
spiParams.transferMode = SPI_MODE_BLOCKING;
spiParams.frameFormat = SPI_POL0_PHA0;
/* Attempt to open SPI. */
spiHandle = SPI_open(Board_SPI0, &spiParams);

SPI_POL0_PHA0:配置时钟极性低电平无效(不起作用)

这样使用spi的时候 clk的电平在空闲的时候一直是高电平; 当发送一组数据的时候,由高电平转低电平,然后是发送数据的时间脉冲, 发送完一组数据之后大概20us的时间又变成高电平;

使用函数改变时钟极性,为什么只对设置之后发送的第一组数据有效,发送完成时钟极性又变成高电平无效了

SPI_changeClockPhasePolarity(EUSCI_B0_BASE
, EUSCI_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT
,EUSCI_SPI_CLOCKPOLARITY_INACTIVITY_LOW);


Viewing all articles
Browse latest Browse all 3634

Trending Articles