尊敬的先生:
我使用自己的电路板设计来设计 msp430fr2475。 电路板工作正常。 现在、我正在尝试从 TI Resource Explorer 中为您的示例代码使用 UART 代码。
调试代码、 检查所有 UART 寄存器是否工作正常、TXBUF 也存储了正确的值。 但 TX bin 不发送数据(我将检查示波器和 PC)。 此处附上了我的示例代码。 请回复我。
我使用 的是32引脚 RHB 封装 IC (MSP430FR2475)
我的硬件连接是、
P2.5 - RXD
P2.6 - TXD
#include
void Init_GPIO();
int main (空)
{
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
//配置 GPIO
// Init_gpio();
PM5CTL0 &=~LOCKLPM5;//禁用 GPIO 上电默认高阻抗模式
//激活1个先前配置的端口设置
//配置 UART 引脚
SYSCFG3|=USCIA0RMP;//设置重映射源
P2SEL0 |= BIT5 | BIT6;//将2个 UART 引脚设置为第二功能
//配置 UART
UCA1CTLW0 |= UCSWRST;
UCA1CTLW0 |= UCSSEL_1;//将 ACLK 设置为 BRCLK
//波特率计算。 请参阅 UG 17.3.10
//(1) N=32768/4800=6.827
//(2) OS16=0、UCBRx=INT (N)=6
//(4)分数部分= 0.827。 参考 UG 表17-4、UCBRSx=0xEE。
UCA1BR0 = 6;// INT (32768/4800)
UCA1BR1 = 0x00;
UCA1MCTLW = 0xEE00;
UCA1CTLW0 &=~UCSWRST;//初始化 eUSCI
UCA1IE |= UCRXIE;//启用 USCI_A0 RX 中断
_bis_SR_register (LPM3_bits|GIE);//输入 LPM3、中断被启用
__no_operation();//用于调试器
}
#if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
#pragma vector=USCI_A0_Vector
_interrupt void USCI_A0_ISR (void)
#Elif defined (_GNU_)
void __attribute__((中断(USCI_A0_Vector)) USCI_A0_ISR (void)
其他
错误编译器不受支持!
#endif
{
switch (__evo_in_range (UCA0IV、USCI_UART_UCTXCPTIFG))
{
USCI_NONE 案例:中断;
USCI_UART_UCRXIFG 案例:
while (!(UCA0IFG&UCTXIFG));
UCA0TXBUF = UCA0RXBUF;
__no_operation();
中断;
案例 USCI_UART_UCTXIFG:中断;
案例 USCI_UART_UCSTTIFG:中断;
案例 USCI_UART_UCTXCPTIFG:中断;
默认值:break;
}
}
谢谢!