请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP432P401R
您好!
我正在尝试使用4线 SPI 协议与外部闪存进行通信。 我在 DriverLib 中看不到完全实现这一目标的方法。 我必须恢复手动设置外设寄存器中的位、请参阅下面的代码片段。
为什么需要设置该位、我猜与勘误表 USCI50有关?
这使用的是 simplelink_msp432p4_sdk_2_30_00_14。
那么、我想我的问题是、如何使用 DriverLib 根据勘误表 USCI50设置 UCSTEM = 1?
Edward
//外部闪存 IO #include #include #define EXTFLASH_SPI_base EUSCI_A1_base const uint8_t port7_mapping []= { //端口 P7: PMAP_NONE、 PMAP_NONE、 PMAP_NONE、 PMAP_NONE、 PMAP_UCA1STE、PMAP_UCA1SIMO、PMAP_UCA1SOMI、PMAP_UCA1CLK //外部闪存端口映射 }; const eUSCI_SPI_MasterConfig spiMasterConfig = { EUSCI_B_SPI_CLOCKSOURCE_SMCLK、 12000000、 12000000、 EUSCI_SPI_MSB_FIRST、 EUSCI_SPI_PHASE_DATA_Captured_ONFIRST_Changed_ON_NEXT、 EUSCI_SPI_CLOCKPOLARITY_INACT_LOW、 EUSCI_SPI_4PIN_UCxSTE_ACTIVE_LOW }; uint32_t extFlashInit() { //设置 SPI 外设 SPI_initMaster (EXTFLASH_SPI_base、&spiMasterConfig); EUSCI_A_CMSIS (EXTFLASH_SPI_base)->CTLW0 |= EUSCI_A_CTLW0_STEM;// HACK 可使4线正常工作 SPI_enableModule (EXTFLASH_SPI_base); //设置端口 I/O PMAP_configurePorts ((const uint8_t *) port7_mapping、PMAP_P7MAP、1、 PMAP_ENABLE_Reconfiguration); GPIO_setPeripheralModuleFunctionOutputPin (GPIO_PORT_P7、 GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN7、 GPIO_PRIMARY_MODULE_FUNCTION); GPIO_setPeripheralModuleFunctionInputPin (GPIO_PORT_P7、 GPIO_PIN6、 GPIO_PRIMARY_MODULE_FUNCTION); 返回0; }