打印

串行通信问题

[复制链接]
1100|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hsbjb|  楼主 | 2012-12-26 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下程序为什么实现不了?
/*
=====================================================================================
* 初始化串口1模式0:串行数据通过RxD = P3^0 接收,TxD = P3^1 输出同步移位时钟,发送和接收的是8位数据,低位在先,波特率固定。
=====================================================================================
*/
void Init_Uart(BOOL TXD)
{  
if(TXD)
{
        SCON = 0x00;  //设置为模式0                                       
        EA=1;                                            
        ES=1;                                           
        TI=0;
}
    else
    {
        SCON = 0x10;  //REN = 1,接收
    }
}

BOOL receiving_UART(BYTE *pData, BYTE nSize)   //接收串行数据
{
    BYTE i = 0;
    for(i = 0; i < nSize; i++)
    {
        while(!RI);
        pData[i] = SBUF;
        RI = 0;
    }
   return 1;
}
   
void send_UART(const BYTE *pData, BYTE nSize)   //发送串行数据
{   
BYTE i = 0;
    for(i = 0; i < nSize; i++)
{
        SBUF = pData[i];
        while(!TI);
        TI = 0;
    }
}

相关帖子

沙发
火箭球迷| | 2012-12-26 16:13 | 只看该作者
不要用串口了

使用特权

评论回复
板凳
dfsa| | 2012-12-26 16:41 | 只看该作者
LZ用的是什么芯片

使用特权

评论回复
地板
无冕之王| | 2012-12-26 16:43 | 只看该作者
dfsa 发表于 2012-12-26 16:41
LZ用的是什么芯片

得说明一下基本的硬件

使用特权

评论回复
5
ZG11211| | 2012-12-26 17:30 | 只看该作者
没有中断号?什么单片机?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

193

主题

2354

帖子

0

粉丝