ESP8266 Developer Zone The Official ESP8266 Forum 2018-07-17T11:25:07+08:00 https://bbs.espressif.com:443/feed.php?f=7&t=10367 2018-07-17T11:25:07+08:00 2018-07-17T11:25:07+08:00 https://bbs.espressif.com:443/viewtopic.php?t=10367&p=22105#p22105 <![CDATA[Re: 关于读取UART0发生地址偏移的问题。]]> Statistics: Posted by Xiong Yu — Tue Jul 17, 2018 11:25 am


]]>
2018-06-26T21:12:21+08:00 2018-06-26T21:12:21+08:00 https://bbs.espressif.com:443/viewtopic.php?t=10367&p=20923#p20923 <![CDATA[关于读取UART0发生地址偏移的问题。]]> 读取Uart0寄存器代码部分:

Code:

fifo_len = (READ_PERI_REG(UART_STATUS(UART0)) >> UART_RXFIFO_CNT_S)&UART_RXFIFO_CNT;
while (pack_num < fifo_len) {
            read_package[pack_num] = READ_PERI_REG(UART_FIFO(UART0)) & 0xFF;
                 pack_num++;
          }

下位机向Uart0发送数据,数据为16进制,长度为10,数据字段为:
ff ff 00 0a 04 03 01 01 01 00

UART0第一次接收数据:
ff ff 00 0a 04 03 01 01 01 00
第二次接收数据:
00 00 00 00 00 00 00 00 00 00 ff ff 00 0a 04 03 01 01 01 00

下位机停止发送,fifo_len = 10,依然判断出有数据,数据为:
00 00 00 00 00 00 00 00 00 00

第三次接收数据:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff 00 0a 04 03 01 01 01 00

之后下位机停止发送,fifo_len = 10,依然判断出有数据,数据为:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

****数据填充位数与要接收的位数相同

Statistics: Posted by librafox — Tue Jun 26, 2018 9:12 pm


]]>