UART0串口编程系列(四)

2014-11-24 07:26:16 · 作者: · 浏览: 13
发送完毕。
* 入口参数: data 要发送的数据
* 出口参数: 无
**********************************************************/
void UART0_SendByte(uint8 data)
{
U0THR = data;
while(0 == (U0LSR & 0x40));
}
/**********************************************************
* 名称: UART0_RecBuf()
* 功能: 接收串口发送过来的帧数据,
* 入口参数: *buffer 存放一帧数据
* 出口参数: 无
**********************************************************/
void UART0_RecBuf (uint8 *buffer)
{
uint8 *pbuffer;
uint8 i;
for(pbuffer = buffer, i = 0;i < 8; i++)
{
*(pbuffer++) = UART0_RcvByte();
}
}
/**********************************************************
* 名称: UART0_SendBuf()
* 功能: 通过串口发送一帧数据
* 入口参数: *buffer 存放一帧数据
* 出口参数: 无
**********************************************************/
void UART0_SendBuf(uint8 *buffer)
{
uint8 *pbuffer;
uint8 i;
for(pbuffer = buffer,i=0;i < 8; i++)
UART0_SendByte(*(pbuffer++));
}

int main (void)
{
uint8 recver_buffer[8]; //定义接收帧缓冲区
uint8 send_buffer[8] ={0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27}; //定义发送帧缓冲区
UART0_Init(115200);
while(1)
{
UART0_RecBuf(recver_buffer);
DelayNS(10);
if(0x10 ==recver_buffer[0] && 0x11 == recver_buffer[1])
UART0_SendBuf(recver_buffer);
else
UART0_SendBuf(send_buffer);
}
return 0;
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/