未决问题1 怀疑IFG1中断标志位,置1后,读取受限。。。已解决。。if中不是1,而是0x40。。...

/******************************************************
程序功能:接收来自PC机的字符,然后重新发送给PC机
-------------------------------------------------------
通信格式:N.8.1, 9600
无校验,8个数据位,1个停止位,波特率9600
------------------------------------------------------
测试说明:打开串口调试助手,正确设置通信格式,向学习板
发送字符,观察MCU回发的字符
*******************************************************/
#include

/********************主函数********************/
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗

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; // Modulation
UCTL0&= ~SWRST; // 初始化UART状态机
// IE1 |= URXIE0; // 使能USART0的接收中断
_EINT();
P2DIR |=BIT7+BIT6+BIT5;
P2OUT |=BIT7+BIT6+BIT5;
unsigned int ss;
unsigned char sd;
while(1)
{ss=40000;
while(ss--);
P2OUT ^=BIT6; //打开全局中断
//LPM1; //进入LPM1模式
// while (!(IFG1&UTXIFG0)); //等待以前的字符发送完毕
//TXBUF0 = RXBUF0;
if((IFG1&URXIFG0)==0)
{ P2OUT ^=BIT7;}
//if((IFG1&URXIFG0)==1) ?????????????????????
else //换成if就不行????????
{ P2OUT ^=BIT5;}

}
}
/*******************************************
函数名称:UART0_RXISR
功 能:UART0的接收中断服务函数,在这里唤醒
CPU,使它退出低功耗模式
参 数:无
返回值 :无
********************************************/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值