【发布时间】:2018-10-02 15:39:46
【问题描述】:
我需要使用字符串发送 get 请求,因此我需要将 float 和 char 值传递给字符串以便发送它。我正在尝试使用 ESP8266 模块将 PIC18F4550 连接到 wifi 我还需要读取和写入数据库。我一直在使用我制作的这个功能来发送 AT 命令并且它工作正常:
void send (char dato[]){
int i = 0;
while (dato[i]!=0){
TXREG=dato[i];
i++;
while(TRMT==0);
}
TXREG = 0x0D;
while(TRMT==0);
TXREG = 0x0A;
}
我的问题是我需要发送:
send("GET /ESPic/index3.php?temp=temp&luz=luz");
但是 luz 是 char 而 temp 是 float。使用 FTDI232 和 Arduino IDE 我正在读取 PIC 和 ESP8266 之间的数据。我真的不知道该怎么做。
【问题讨论】:
-
请正确缩进您的代码。
luz和temp在你的代码中在哪里? -
你可以在传输之前用
sprintf构建消息字符串吗?此外,代码缺少初始或最终状态检查。 -
请注意,您可能必须在交叉编译器中启用
printf函数系列。另请参阅Using floats with sprintf() in embedded C。