串行通信问题

[复制链接]
1508|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用的是什么芯片

得说明一下基本的硬件
ZG11211 发表于 2012-12-26 17:30 | 显示全部楼层
没有中断号?什么单片机?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

193

主题

2354

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部