gpt4 book ai didi

try-catch - Arduino 中的 try/catch block

转载 作者:行者123 更新时间:2023-12-03 15:19:21 25 4
gpt4 key购买 nike

我正在使用 Arduino 中的套接字通信,我需要 try/catch block 进行正确处理,你们有什么建议?我在互联网上的搜索没有成功。

编辑:

我正在使用的代码使用 WiFly 模块与移动应用程序交互,我正在构建一个机器人模块,其中包含对使用 Android 的移动应用程序的一些控制。
一切正常,但有时套接字会断开连接,所以我需要为这种情况添加处理,类似于 try/catch block ,但我没有为 Arduino 找到类似的 block 。

我的代码:

void loop() {
Client client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
// Serial.print("client connected \n");
char c = client.read();

if(c == 'L')
turnLeft();
if(c == 'R')
turnRight();
if(c == 'F')
goForward();
if(c == 'B')
goBackward();
if(c == 'S')
Stop();

Serial.print(c);
}
}

// give the web browser time to receive the data
delay(100);
client.stop();
}
}

最佳答案

Arduino reference is未列出 try catch (有关原因的详细信息,请参见此 related answer )。而且我认为,在 µ Controller 上实现 try catch 可能有点困难/不可能。

在大多数语言中,try catch 是一项非常昂贵的操作:程序堆栈为 try block 和每个 catch block 复制一次。如果 try 出错,try-block 堆栈将被丢弃,catch block 堆栈之一将被执行。
我不是 cpu 架构的专家,但我可以想象,这需要大量的内存交换和类似的操作——用一个简单的 µ Controller 应该很难实现。

可能值得看看 C-Programmers do patterns similar to try/catch

关于try-catch - Arduino 中的 try/catch block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10228562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com