- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MSP430UART驱动程序头文件,高效率超低功耗收发数据.doc
/*****************************************************************
**MSP430串口UART头文件
**by: 2011-3-18
*****************************************************************/
#define TXRX_FIFO 1
#define AddressUse 1
#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
/*****************************************************************
*名 称:UARTSet()
*功 能:UART串口设置
*入口参数:baud:波特率 1200 2400 4800 9600(默认) 19200 38400 57600
* data:数据位,8:8位,7:7位,默认8位
* jiouwei:奇偶位,n:无(默认),o:奇校验,e:偶校验
* stop:停止位,2:2位停止位,其他均为默认的1位
*出口参数:无
*使用范例:UARTSet(9600,8,n,1)
*****************************************************************/
void UART_Set(uint baud,uchar data,char jiouwei,uchar stop)
{
U0BR1 = 0;
if(baud=9600) U0TCTL |= SSEL0; //ACLK
else U0TCTL |= SSEL1; //SMCLK
switch(baud)
{ case 1200:U0BR0 = 0X1B;
U0MCTL = 0X6B; break;
case 2400:U0BR0 = 0X0D;
U0MCTL = 0X6B; break;
case 4800:U0BR0 = 0X0D;
U0MCTL = 0X6B; break;
case 9600:U0BR0 = 0X03;
U0MCTL = 0X4A; break;
case 19200:U0BR0 = 0X36;
U0MCTL = 0X6B; break;
case 38400:U0BR0 = 0X1B;
U0MCTL = 0X88; break;
case 57600:U0BR0 = 0X12;
U0MCTL = 0X88; break;
default:U0BR0 = 0X03; //默认9600波特率
U0MCTL = 0X4A;
}
if(data==8)U0CTL = CHAR;
else if(data==7)U0CTL = ~CHAR;
else U0CTL = CHAR; //默认8位数据位
switch(jiouwei)
{
case n:break; //无校验
case o:U0CTL |= PENA; break;//奇校验
case e:U0CTL |= PENA +PEV; //偶校验
break;
default:break; //默认无校验
}
if(stop==2) U0CTL |= SPB;//两位停止位,默认为1位停止位
}
/***********************************************************
*名 称:UART_Init()
*功 能:初始化串口UART0,设置引脚
***********************************************************/
void UART_Init()
{
P2SEL |= BIT4 + BIT5; //P2.4:TXD0,P2.5:RXD0
P2DIR = ~BIT5;
ME1 |= UTXE0 + URXE0; //开启UART0收发模块
}
/************
文档评论(0)