uart_a.c

来自「仪器源码->基MSP430 OPEN/SHORT C代码,已成功用于工业自」· C语言 代码 · 共 36 行

C
36
字号
#include <msp430x13x.h>
unsigned char rxd_buff;
extern void start_test(void);
void init_series(void)
{
    UCTL0 = CHAR;             // 设串口控制寄存器,设为8位字符格式
    UTCTL0 = SSEL0;           // 设串口控制寄存器所使用的时钟,选择UCLK = ACLK
    UBR00 = 0x03;             // 波特率设置32k/2400 - 13.65
    UBR10 = 0x00;            
    UMCTL0 = 0x4a;            // 波特率调整器设置
    ME1 |= UTXE0 + URXE0;     // 模块允许寄存器设置,使能USART0 TXD/RXD
    IE1 |= URXIE0;            // 中断允许寄存器设置,接收中断允许
    P3SEL |= 0x30;            // 将P3.4,5使用外围模块 = USART0 TXD/RXD
    P3DIR |= 0x10;            // 将P3.4设为输出(发),P3.5默认为输入(收)= 0
    IE1|=URXIE0;
}


#pragma vector = UART0RX_VECTOR
__interrupt void usart0_rx (void)
{
    rxd_buff=RXBUF0;
    TXBUF0=0xaa;
    while ((UTCTL0&0x01) == 0);
    switch(rxd_buff)
    {
    case 0x10 :
         start_test();
         break;
    case 0x11 :
         break;         
    default: break;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?