⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart.c

📁 ti公司msp430单片机串口通信程序
💻 C
字号:
/******************************************************
* 文件名称:uart.c
* 文件说明:
*          RS232通迅使用的UART0 模块 
*****************************************************/
#include <msp430x13x.h>
#define UART_BUF_SIZE 20
/*****************************************************/
/*   数据定义                                        */
/*****************************************************/
char uart_RBuf[UART_BUF_SIZE];   //接收缓冲区
unsigned char nRX_Len;
/*******************************************************
*     模块初始化
*******************************************************/
void init_UART(void)
{
    UCTL0 |=SWRST;
    UCTL0 |=CHAR;                          
    UTCTL0= SSEL0;                        
    UBR00 = 0x03;                           
    UBR10 = 0x00;                     
    UMCTL0= 0x4A;                          
    ME1 |= (UTXE0 + URXE0);                 
    UCTL0&=~SWRST;
    IE1 |= URXIE0 ;                         
    IFG1 = 0x00;
    P3SEL |= 0x30;                         
    P3DIR |= 0x10;
}
/****************************************************
*     数据发送
****************************************************/
void uart_send(char *pBuffer,int n_byte)
{
    unsigned char q0;
    for(q0=0;q0<n_byte;q0++)
    {
        while((UTCTL0 & 0x01 )!=0x01);       
        TXBUF0=*pBuffer;  
        pBuffer++;
    }
}

/****************************************************
*     数据接收中断
****************************************************/
#pragma vector = UART0RX_VECTOR 
__interrupt void uart_Receive(void)      
{     
    if((URCTL0&RXERR)==0)                 
    {
      if (nRX_Len < UART_BUF_SIZE)
      {
        uart_RBuf[nRX_Len] = RXBUF0;
        nRX_Len++;
      }
    }
}

⌨️ 快捷键说明

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