1、UART串口通讯,中断方式LPC21XX串口通讯,UART结构图,UART0、UART1各含有1个16字节的接收FIFO缓冲区。 软件设置接收FIFO缓冲区的触发字节。,UART接收FIFO缓冲区,00:1字节01:4字节10:8字节11:14字节,UART0、UART1各含有1个16字节的发送FIFO缓冲区。 UnTHR是UARTn发送FIFO的最高字节。 UART的发送FIFO是一直使能的。,UART发送FIFO缓冲区,UART线状态寄存器UnLSR,线状态寄存器(UnLSR)为只读寄存器,它提供UARTn发送和接收模块的状态信息 。,中断方式UART0初始化,void UART0_Ini
2、(void) uint16 Fdiv; PINSEL0 = (PINSEL0 ,中断服务函数,void UART0_IRQHandler(void)int i; switch(U0IIR ,演示程序,int main(void) uint8 RcvP=0,RcvL=0,TxdP=0,RxdL=0; char RcvBuf256,Txdbuf256; int i=0; UART0_Ini(); while(1) if(RcvL!=0)/接收到完整数据包 for(i=16;i0;i-) if(TxdP=TxdL) break; /发送字符完 else U0THR = TxdBufTxdP+; U0IER = 0X07;/ THRE中断使能 RcvL=0;/结束处理 /其它主程序处理 return(0);,练习,通过PC串口助手或其它串口工具发送字符串将该字符串前面添加响应字符“”,字符串后添加结束字符“#”,然后传送回PC比如接收到包“This is a test string!”,则返回字符串“ This is a test string!#”该练习主要锻炼中断发送接收程序设计,以及通过接收超时区分数据包间隔课后编写MODBUS RTU协议的3号从协议功能,下次课堂测试该功能。,