| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1041 人关注过本帖
标题:请教:一个关于“UART”连接通信问题
只看楼主 加入收藏
leodjh
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2016-8-13
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:1 
请教:一个关于“UART”连接通信问题
void UART_IoInit()                    //初始化
{
   
   
    CLKCON = 0X18;                     //一分频
    OSCCON = 0X00;
    SYM = SYM & (~0X01);              //关闭全局中断
    BTCON = 0xA3;                     //关闭看门狗定时器  
    LPOT = 0X00;
    IMR = IMR | 0X80;                 //中断屏蔽寄存器                 
    P2CONL |= 0XF0;                   //P2设置为UART
    BRDATAH = 0X00;              //9600波特率,6.144MHZ晶振,设置波特率数据寄存器
    BRDATAL = 0X27;
    UARTPND=0x00;
    SYM = SYM | 0X01;            //打开全局中断
    UARTCON = 0X52;             //选择mode1,允许接收中断,接收使能  

}


void UART_DataSend(void)                            //发送数据
{   

    UDATA=1;
    delay(1000);
    while( !(UARTPND & 0X01))                                 
    { ;
    }
    UARTPND &=~(0x01);

        
}

void main(void)
{   

    UART_IoInit();
    UART_UartInit();
    Led_Init();

     

    while(1)
    {   

          led3();
          delay(30000);
          led2();
          delay(30000);

          UART_DataSend();

    }
}              
一块三星单片机,部分代码,想向高手请教一下,发送完成后,发送中断标志位为什么不挂起?
导致 在这一段   
  while( !(UARTPND & 0X01))                                 
    { ;
    }
    UARTPND &=~(0x01);
死循环,卡在这
搜索更多相关主题的帖子: 寄存器 波特率 定时器 通信 
2017-03-25 14:50
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10543
专家分:42958
注 册:2014-5-20
收藏
得分:20 
while( !(UARTPND & 0X01))                                 
    { ;
    }
进入循环体后什么都没变动,不会跳出的吧?
2017-03-25 16:34
快速回复:请教:一个关于“UART”连接通信问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019328 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved