请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号: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状态机**
}