工具/软件:Code Composer Studio
大家好!我有这个 UART 代码在引脚3.6,7上工作我想把它更改为引脚3.4,5;我该怎么做??
我尝试将选择 buf 更改为 P3SEL = 0x030; 但它不起作用!
代码如下:
#include
int main (空)
{
WDTCTL = WDTPW + WDTHOLD;//停止 WDT
P1DIR = 0xFF;//所有 P1.x 输出
P1OUT = 0;//所有 P1.x 复位
P2DIR = 0xFF;//所有 P2.x 输出
P2OUT = 0;//所有 P2.x 复位
P3SEL = 0x0C0;// P3.6、7 = USCI_A1 TXD/RXD
P3DIR = 0xFF;//所有 P3.x 输出
P3OUT = 0;//所有 P3.x 复位
P4DIR = 0xFF;//所有 P4.x 输出
P4OUT = 0;//所有 P4.x 复位
P5DIR = 0xFF;//所有 P5.x 输出
P5OUT = 0;//所有 P5.x 复位
P6DIR = 0xFF;//所有 P6.x 输出
P6OUT = 0;//所有 P6.x 复位
UCA1CTL1 |= UCSSEL_1;// CLK = ACLK
UCA1BR0 = 0x03;// 32kHz/9600 = 3.41
UCA1BR1 = 0x00;//
UCA1MCTL = UCBRS1 + UCBRS0;//调制 UCBRSx = 3.
UCA1CTL1 &=~UCSWRST;//**初始化 USCI 状态机**
UC1IE |= UCA1RXIE;//启用 USCI_A1 RX 中断
_bis_SR_register (LPM3_bits + GIE);//输入 LPM3、中断被启用
}
//回显 RXed 字符,确认 TX 缓冲区已准备就绪
#if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
#pragma vector=USCIAB1RX_vector
_interrupt void USCI1RX_ISR (void)
#Elif defined (_GNU_)
void __attribute__((中断(USCIAB1RX_Vector)) USCI1RX_ISR (void)
其他
错误编译器不受支持!
#endif
{
while (!(UC1IFG&UCA1TXIFG));// USCI_A1 TX 缓冲区就绪?
UCA1TXBUF = UCA1RXBUF;// TX -> RXED 字符
}
谢谢!