下面的函数描述了使用gps模块的adruino shield和uno board的一组值。
我收到一些错误,也许是在语法中。请忽略指出错误的行。我不希望人们在看到大量编码时感到害怕。
void send_HTTP(){
uint8_t answer=0;
// Initializes HTTP service
answer = sendATcommand("AT+HTTPINIT", "OK", 10000);
if (answer == 1)
{
// Sets CID parameter
answer = sendATcommand("AT+HTTPPARA=\"CID\",1", "OK", 5000);
if (answer == 1)
{
// Sets url
sprintf(aux_str, "AT+HTTPPARA=\"URL\",\"http://%s/demo_sim908.php?", url);// line number :459
Serial.print(aux_str);
sprintf(frame, "visor=false&latitude=%s&longitude=%s&altitude=%s&time=%s&satellites=%s&speedOTG=%s&course=%s",
latitude, longitude, altitude, date, satellites, speedOTG, course); // line number : 460
Serial.print(frame);
answer = sendATcommand("\"", "OK", 5000);
if (answer == 1)
{
// Starts GET action
answer = sendATcommand("AT+HTTPACTION=0", "+HTTPACTION:0,200", 30000);
if (answer == 1)
{
Serial.println(F("Done!"));
}
else
{
Serial.println(F("Error getting url"));
}
}
else
{
Serial.println(F("Error setting the url"));
}
}
else
{
Serial.println(F("Error setting the CID"));
}
}
else
{
Serial.println(F("Error initializating"));
}
sendATcommand("AT+HTTPTERM", "OK", 5000);
}
我收到以下错误。
Arduino:1.7.5(Windows 8.1),主板:“Arduino Uno”
sketch_aug22e.ino:459:13:错误:缺少终止“字符
sketch_aug22e.ino:在函数'void send_HTTP()'中:
sketch_aug22e.ino:460:34:错误:预期')'之前';'令牌
编译错误。
此报告将提供更多信息 “在编译期间显示详细输出” 在文件>中启用偏好。
答案 0 :(得分:0)
第459行中的引号数量不均匀:
sprintf(aux_str," AT + HTTPPARA = \" URL \"," http://%s/demo_sim908.php?",url);
令编译器感到困惑。
如果不确切地知道自己想要做什么很难说,但如果要打印3个单独的字符串,则可能是因为您不希望“ESC”和“第三个字符串 - 例如:
sprintf(aux_str,&#34; AT + HTTPPARA = \&#34; URL \&#34;&#34;,&#34; http://%s/demo_sim908.php?&#34;,url); < / p>
或者如果你只是想打印两个字符串和“逗号”。在http只是字符串的一部分之前,你可能只需关闭那个&#39; ESCed&#39;网址:
sprintf(aux_str,&#34; AT + HTTPPARA = \&#34; URL \&#34;,http://%s/demo_sim908.php?\&#34;,url);