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.

[参考译文] MSP430F5528:SLAA281B应用报告中的SPI连接问题(与SD卡的SPI通信)

Guru**** 2539500 points
Other Parts Discussed in Thread: MSP430F5528

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/571955/msp430f5528-problems-with-the-spi-conif-from-the-slaa281b-app-report-spi-communication-with-a-sd-card

部件号:MSP430F5528
主题中讨论的其他部件: MSP-EXP430F5529

大家好,

我正在尝试在 当前使用MSP430f5528的项目中从SLAA281B应用报告迁移代码。

n`t SPI连接的配置不起作用。 我 连接 了一个oszi,但是没有边缘…

感谢您的帮助!

//---------------- hal_mmc_hardware_board.h------------------

包含"msp430f5528.h" //根据进行调整
//正在使用MSP430器件。
// SPI端口定义 //调整所选
#define SPI_PxSEL的值 P4SEL //接口,根据引脚
#define SPI_PxDIR P4DIR //
在#define SPI_PxIN中指定的分配 P4IN //选择MSP430器件数据表。
#define SPI_PxOUT P4OUT
#define SPI_SIMO 0x04
#define SPI_SOMI 0x05
#define SPI_UCLK 0x00


//--------------------------------------------
// SPI/UART端口选择。 选择要用于接口
的端口//------------------

// SPI端口定义 //调整所选
#define MMC_PxSEL的值 SPI_PxSEL //接口,根据引脚
#define MMC_PxDIR SPI_PxDIR //
在#define MMC_PxIN中指定的分配 SPI_PxIN //选择MSP430器件数据表。
#define MMC_PxOUT SPI_PxOUT
#define MMC_SIMO SPI_SIMO
#define MMC_SOMI SPI_SOMI
#define MMC_UCLK SPI_UCLK

//芯片选择CS 4.3
#define MMC_CS_PxOUT P4OUT
#define MMC_CS_PxDIR P4DIR
#define MMC_CS 0x03

//卡检测CD 2.7
#define MMC_CD_PxIN P2IN
#define MMC_CD_PxDIR P2DIR
#define MMC_CD 0x07

#define CS_HIGH () while (halSPITXDONE);MMC_CS_PxOUT |= MMC_CS //取消选择卡
#define CS_low() (P4OUT &=~BIT3)//已修改

#define dummy_char 0xFF



//------------------ HAL_SPI.h------------------
#define halSPIRXBUF UCA1RXBUF
#define halSPI_send(x) UCA1TXBUF = x
#define halSPITXREADY (UCA1IFG和UCTXIFG) /*等待TX准备就绪*/
#define halSPITXDONE (UCA1STAT和UCBUSY) /*等待TX完成*/
#define halSPIRXREADY (UCA1IFG和UCRXIFG) /*等待TX就绪*/
#define halSPIRXFG_CLR UCAxIFG &=~UCRXIFG
#define halSPI_PxIN SPI_USART0_PxIN
#define halSPI_SOMI SPI_USART0_SOMI


//------------------ HAL_SPI.c------------------
// SPI端口函数
void halSPISetup(void){


UCA1CTL0 = UCMST+UCCKPL+UCMSB+UCSYNC+UCMST; // 3引脚,8位SPI主控
UCA1CTL1 = UCSSEL_2 + UCSSWRST; // SMCLK
UCA1BR0 |= 0x02; // UCLK/2
UCA1BR1 = 0;
UCA1MCTL = 0;
UCA1CTL1 &=~UCSWRST; //**初始化USCI状态机**
}

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

    SLAA281专门详细介绍了如何使用具有USART外设的MSP430器件,而F5528包含USCI,我不确定如何在不彻底重新处理HAL SPI文件或从IDE中获取多个错误的情况下迁移此代码。 我的建议是参考MSP-EXP430F5529的用户体验演示软件,因为该软件包含用于使用USCI SPI在SD卡和MSP430F552x设备之间进行通信的资源。

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

    您好,Ryan:

    感谢您的提示! 它初始化似乎有效。   我接下来要检查的其他功能。

    感谢您的快速支持!

    此致,Christian