工具/软件:TI C/C++编译器
您好!
如今、我创建了一个包含 UART 和 MSP430F425A 的项目。
我已经完成了有关 UART 的所有寄存器设置、但是当 MSP430通过 UART 接收数据时、我无法进入 RX 的 ISR。
我不知道是否有寄存器设置错误、请给我一个手。
这些是下面的设置代码、
void SET_UART (void)
{
U0CTL |= char;//8位
U0TCTL |= SSEL0;//ACLK
U0BR0 = 0x03;// 32k/9600 -> 3.41 MSB=0、LSB=3
U0BR1 = 0x00;
UMCTL0 = 0x4A;//调制->请参阅 MSP430F1xx 文档
U0CTL &=~SWRST;//初始化 USART 状态机
ME1 |= UTXE0 + URXE0;//启用 USART0 TXD/RXD
IE1 |= URXIE0;//启用 USART0 RX 中断
_EINT();
}
这是下面的 ISR 代码、在"if (!(IFG1 & URXIFG0)"处设置断点
// UART0 RX ISR
#pragma vector=USART0RX_vector
_interrupt void usart0_Rx (void)
{
if (!(IFG1 & URXIFG0))
{
UART_DATA[(UART_Stat 和 UART_Stat_Count)]= RXBUF0;
UART_Stat++;
if ((UART_Stat 和 UART_Stat_Count)>= UART_DATA[0])
UART_Stat |= UART_Stat_Finish;
}
}
此致、
Yu-Chuan、Chen