uart.c
来自「ti公司msp430单片机串口通信程序」· C语言 代码 · 共 61 行
C
61 行
/******************************************************
* 文件名称: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 + =
减小字号Ctrl + -
显示快捷键?