embedded - 带有调制解调器 esp8266 中断处理程序的 stm32f 以获得调制解调器应答的结束
问题描述
我使用带有 esp8266 调制解调器的 stm32f,我使用带有 tera 术语的 usart 与调制解调器通信。当我发送 AT 时,我得到了预期的“OK”。
当我发送 AT+CIFSR 时,它只返回 1 行答案,而我预计会收到大约 5 行信息。
我怎么知道从 esp 调制解调器接收到什么时候结束?目前我试图通过 '\n' 来捕捉句子的结尾,但这导致我得到 1 行答案。
我的中断看起来像:
numOfRows = TERMINAL_getNumOfRows(); // somehow it gives me 0 as answer when I actually return the number before I send data
rx_byte = USART3->RDR;
if (rx_byte == '\n')
{
if (rows==numOfRows)
{
*(++P_Loc_In_Rx_Buffer3) = '\0';
P_Loc_In_Rx_Buffer3 = A_Rx_Buffer3; //where all the data received
Command_Received = TRUE; // start to print on usart (terminal)
numOfRows=1; // I try to make default to 1 line
return;
}
else
{
rows++;
}
}
解决方案
推荐阅读
- javascript - Copy row to another sheet via for loop google sheets script
- c - 在 c 程序中打印延迟?
- flutter - 如何在应用购买中将产品价格传递给 Google Play?
- ocaml - 多参数构造函数比单个元组参数构造函数有用吗?
- python - 如何动态调用将python方法分配给从共享库导出的C指针函数
- fluent-ui - 在 Theme 中配置 Tooltip 背景颜色
- reactjs - 成帧器运动的奇怪行为在存在时动画
- go - 在 Go Fiber 应用程序中渲染模板
- swift - 在 macOS swift 5 上检测屏幕截图
- cryptography - Shamir 的秘密分享:每个分片可以单独签署交易吗?