------------------------------------------------------- 通信格式:N.8.1, 9600
无校验,8个数据位,1个停止位,波特率9600
------------------------------------------------------ 测试说明:打开串口调试助手,正确设置通信格式,向学习板 发送一个字符,观察是否收到回发的字符,以及是否 正确
*******************************************************/ #include \"msp430x14x.h\" #include \"BoardConfig.h\"
unsigned int a;
uchar scandata[16] =
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void PutString(uchar *ptr) {
while(*ptr != '\\0') {
while (!(IFG1 & UTXIFG0)); // TX缓存空闲? TXBUF0 = *ptr++; // 发送数据 }
while (!(IFG1 & UTXIFG0)); TXBUF0 = '\\n'; }
/********************主函数********************/ void main(void) {
uchar *tishi = \"Please enter a single-digit:\";
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 BoardConfig(0x88); //打开数码管 P4DIR=0xff; //初始化 P5DIR=0xff; P4OUT=0xff; P5OUT=0xff;
P3SEL |= 0x30; // 选择P3.4和P3.5做UART通信端口 ME1 |= UTXE0 + URXE0; // 使能USART0的发送和接受 UCTL0 |= CHAR; // 选择8位字符 UTCTL0 |= SSEL0; // UCLK = ACLK
UBR00 = 0x03; // 波特率9600 UBR10 = 0x00; UMCTL0 = 0x4A;
UCTL0 &= ~SWRST; // 初始化UART状态机 IE1 |= URXIE0; // 使能USART0的接收中断 PutString(tishi); //PC机显示提示信息
while(1) {
_EINT();
_BIS_SR(LPM0_bits+GIE); //进入低功耗并打开中断使能 while((IFG1&URXIFG0)==0); IFG1&=~URXIFG0;
a = RXBUF0; //将收到的字符ASCII码转换为字符并送给数码管显示 a -= 48;
P4OUT=scandata[a]; P5OUT&=~0x01; } }
/******************************************* 函数名称:UART0_RXISR
功 能:UART0的接收中断服务函数,在这里唤醒 CPU,使它退出低功耗模式 参 数:无 返回值 :无
********************************************/ #pragma vector = UART0RX_VECTOR __interrupt void UART0_RXISR(void) {
_BIC_SR_IRQ(LPM0_bits); //退出低功耗模式 }
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务