/*****************************************************************
程序功能:MCU不停向pc机发送数据,在屏幕上显示0~127对应的ASCII字符
------------------------------------------------------------------
通信格式:N.8.1,2400
------------------------------------------------------------------
测试说明:打开串口调试助手,正确设置通信格式,观察屏幕
*****************************************************************/
#include<msp430x14x.h>
#include"boardconfig.h"
void Delays(void);
void Pudstring(uchar *ptr);
/*****************************主函数**************************/
void main(void)
{
uchar *tishi="MCU send 0~127 to pc and the\
\n screen will display their corresponding\
\n ASCII code as follows:";
uchar value=0;
WDTCTL=WDTPW+WDTHOLD; //关狗
Boardconfig(OXb8); //关流水灯、蜂鸣器和数码管
P3SEL |=OX30; //P3.4,5选择为UART收发端口
ME1 |=UTXE0+URXE0; //使能USARTO收发
UCTL0|=CHAR; //8-bitcharacter
UTCTL0|=SSEL0; //UCLK=ACLK
UBR00=OX0D; //32K/2400-13.65
UBR10=OX00; //
UMCTL0=OX6B; //modulation
UCTL0 &=~SWRST; //初始化UARTO
IE1 |=URXIE0; //使能接手中断
_EINT();
Putstring(tishi);
while(1)
{
while(!(IFG1 & UTXIFG0));
TXBUF0=VALUE++;
value &=OX7f;
while(!(IFG1 & UTXIFG0));
TXBUF0='/n';
Delays();
}
}
/********************************************
函数名称:putstring
功能:向pc机发送字符串
参数:无
返回值:无
********************************************/
void putstring(uchar *ptr)
{
while(*ptr!='\0')
{
while(!(IFG1 & UTXIFG0)); //tx缓存空闲?
TXBUF0=*ptr++; //发送数据
}
while(!(IFG1 & UTXIFG0));
TXBUF='\n';
}
/********************************************
函数名称:delays
功能:延时一会
参数:无
返回值:无
********************************************/
void Delays(void)
{
uchar i=20;
uint j;
while(i--)
{
j=2000;
while(j--);
}
}