尊敬的 TI 专家:
我在为 MSP430G2553 Launchpad 配置四引脚模式时遇到问题。 我能够通过 UCA0 3引脚 SPI 通道发送和接收数据、但我现在需要使用包含 UCA0STE 的4引脚 SPI 通道。 当用 UCMODE1=1、UCMODE0 =0 (UCA0STE 低电平有效)初始 化配置时、无法完成传输、我发现在初始化后 UCFE (帧错误标志)被设置。 我理解 UCFE 表示总线冲突、但即使我完全没有连接总线、它也被设置为位1。 我的代码如下:(加上,当 UCMODE1=0 ,UCMODE0=1时,UCFE 和位0保持正常。)
void InitSpiBusA0 (void)
{
//引脚功能选择
P1SEL |= BIT1 | BIT2 |BIT4;
P1SEL2 |= BIT1 | BIT2 |BIT4;
UCA0CTL1 |= UCSWRST | UCSSEL_2;
/*uC 复位,SMCLK*/
UCA0CTL0 = UCCKPL|UCMSB|UCMST|UCMODE1|UCSYNC;
/*SPI 模式、MSB 优先、主模式、 UCxSTE 被启用并且低电平有效 */
/*SPI 比特率*/
UCA0BR0= 1;
UCA0BR1=0;
/*SPI 禁用复位*/
UCA0CTL1 &=~μ H UCSWRST;
}
空 SpiBusMasterWrite (uint8_t data)
{
/*将数据输入缓冲区*/
UCA0TXBUF =数据;
while (!(IFG2和 UCA0TXIFG));
}
int main (空)
{
WDTCTL = WDTPW | WDTHOLD;
InitSystemClock(); // 1MHz
InitSpiBusA0();//之后 UCFE 出现
SpiBusMasterWrite (0xAA);
MASTER_RECEIVE_DATA = SpiBusMasterRead ();
while (1)
{
__delay_cycles (1000000);
}
返回0;
}
希望有人能指出。 还有其他需要我处理的事情吗? 谢谢。
此致、
远辰市