📄 uart.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 + -