在PIC 16上使用USART的正确方法

时间:2011-05-31 09:17:40

标签: microcontroller pic uart

我正在尝试使用PIC 16上的USART功能接收1个字符。

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

我能否从概念上检查调用接收功能的方法是否正确

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 个答案:

答案 0 :(得分:1)

您必须先启动UART。

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