2011-05-31 52 views
0

的正确方法我想在PIC 16收到使用USART功能1个字符使用USART在PIC 16

发射器和接收器都PIC 16S。

我可以检查的方式来调用接收功能是正确的概念

char tmp; 

CREN = 0; 
CREN = 1; 

while(!RCIF); 

if(OERR==1) 
{ 
    tmp = RCREG; 
    tmp = RCREG; 
    CREN=0; 
    DelayMs(5); 
    CREN=1; 
} 
else 
{ 
tmp = RCREG; 
} 

CREN = 0; 

许多在此先感谢!

回答

1

您必须先启动UART。

  1. 加载到SPBRG寄存器适当 数量取决于你的波特 率和CPU时钟频率 (检查表)。
  2. 设置寄存器TXSTA中的BRGH位取决于所需的波特率发生器(检查数据表)。
  3. 设置RCSTA寄存器的位取决于数据长度等(检查数据表)。在RCSTA寄存器中使能CREN位。
  4. 等待PIR1.RCIF == 1位,表示缓冲区接收器已满(只有一个字节)。