📄 df_uart.c
字号:
#include<msp430x14x.h>
#include"DF_UART.h"
#include"XIEYI.h"
#include"PACKET.h"
#define USART_DIR P3DIR //串口方向设置寄存器
#define USART_SEL P3SEL //串口功能设置寄存器
#define USART_IN P3IN //串口输入设置寄存器
#define USART_OUT P3OUT //串口输出设置寄存器
#define UTXD0 BIT4 //Uart0
#define URXD0 BIT5
#define UTXD1 BIT6 //Uart1
#define URXD1 BIT7
/***********************************************
** 函数名称: void InitUart(void)
** 功能描述: 串口初始化函数
** 晶 振: 4MHz
** 输 入: 无
** 输 出: 无
************************************************/
void InitUart(void)
{
USART_SEL |= UTXD0 +URXD0; //设置管脚为第二功能
UCTL0 = CHAR+PENA+SWRST; //8位数据,1位停止位,奇校验
UTCTL0 = SSEL0; //选择UCLK = ACLK
UBR00 = 0x3; //设置波特率9600bit/s
UBR10 = 0;
UMCTL0 = 0x4A;
UCTL0 &= ~SWRST;
ME1 |= UTXE0 + URXE0; //打开模块USART0
IE1 |= URXIE0 ; //打开USART0接收中断
}
/***********************************************
** 函数名称: void SendUart_Byte( uchar dataByte )
** 功能描述: 串口发送一字节函数
** 晶 振: 4MHz
** 输 入: dataByte:要发送的字节数
** 输 出: 无
** 调用示例: void SendUart_Byte( 0x30 );
************************************************/
void SendUart_Byte( uchar dataByte )
{
while( (IFG1&UTXIFG0)==0 ) ;
TXBUF0 = dataByte;
}
/***********************************************
** 函数名称: void SendUart_Array( uchar *pBuffer, uchar n_Byte)
** 功能描述: 串口发送字节数组函数
** 晶 振: 4MHz
** 输 入: pBuffer:指向发送数据缓冲区的指针,n_Byte:要发送的字节数
** 输 出: 无
** 调用示例: void SendUart_Byte( 0x30 );
************************************************/
void SendUart_Array( uchar *pBuffer, uchar n_Byte)
{
uchar q0;
for( q0=0; q0<n_byte; q0++ )
{
SendUart_Byte( *pBuffer )
pBuffer++;
}
}
/***********************************************************
函数名称:interrupt[ USART0RX_VECTOR ] void Usart0RX(void)
函数功能:串口接收中断函数
入口参数:无
出口参数:无
备 注: UART1RX_VECTOR
设 计:Kimperh 日 期:2007-05-12
修 改: 日 期:
***********************************************************/
interrupt[ UART0RX_VECTOR ] void Usart0RX(void)
{
if( (U0RCTL&RXERR) == 0 )
{
AddUsData( RXBUF0 );
}
else
{
SetPacketErr();
U0RCTL &= ~(FE+PE+OE+BRK);
}
LPM3_EXIT;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -