【问题标题】:Correct Way of using USART on PIC 16在 PIC 16 上使用 USART 的正确方法
【发布时间】:2011-09-05 08:07:55
【问题描述】:

我正在尝试使用 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;

非常感谢!

【问题讨论】:

    标签: microcontroller pic uart


    【解决方案1】:

    您必须先启动 UART。

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

    【讨论】:

      猜你喜欢
      • 2017-05-04
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2013-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多