请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C1231E6PM Thread 中讨论的其他器件:EK-TM4C123GXL
尊敬的 Sirs
我使用 UART5与 ESP8266模块通信。
这是配置
ROM_SysCtlClockSet (SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_INT); ROM_ExpCtlPeripheralEnable (SYSCTL_Periph_UART5); ROM_GPIOPinConfigure (GPIO_PE4_U5RX);ROM_GPIOPIN_UART5_UART_UART5_USTRIP ) ;ROM_GPIO_UART5_USTRIP_CLUST_UCTL (GPIO_09600_GPIO_UCT_UCTL) (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));
我正在池化串行端口、而不是使用中断。 这是功能
int recvString (char *目标、char *数据、int 超时、bool 检查) { int i=0; char a; unsigned long start = millis (); while (millis ()- start <超时) { while (ROM_UARTCharsAvail (UART5)) { A = ROM_UARTCharGet (UART5); if (a ='\0') 继续; data[i]= a; i++; } } if (检查) { if (SearchIndexOf (data、target)!=-1) { 返回1;//break; } } 返回0; }
我的问题是、我缺少一些接收到的数据。 在某些字节从 缓冲区成功读取后,丢失的数据就在传输的开始。 该错误是一种引起式错误。 并不总是发生。