发送完毕。 * 入口参数: 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 ********************************************************************************************************/
|