以下程序为什么实现不了?
/*
=====================================================================================
* 初始化串口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;
}
} |