Я пытаюсь отправить пакет на сервер через 3g и TCP-соединение.Ниже приведена ссылка на найденные мной файлы .cpp и .h:
https://os.mbed.com/users/Nels885/code/Adafruit_FONA_3G/
В частности, я действительно запутался в том, как TCPSend
работает в классе Adafruit_FONA_3G
,Я пытаюсь реализовать это, но мой код застрял на packet[0] = 0;
в функции bool Adafruit_FONA_3G::TCPsend(char *packet)
.
Я пытался закомментировать packet[0] = 0
;и код работает до конца.Я также попытался инициализировать char* packet[32];
до packet[0] = 0;
, и код работает до конца.Я предполагаю, что функция не обнаруживает пакетный ввод.
Вот конкретная функция из файла .cpp:
bool Adafruit_FONA_3G::TCPsend(char *packet)
{
if (strlen(packet) > 0)
{
mySerial.printf("%s", packet);
//mySerial.printf("%s\r\n", packet);
readline();
packet[0] = 0;
return true;
}
else
return false;
}
Вот мой основной код:
#include "mbed.h"
#include "Adafruit_FONA.h"
#define FONA_RST D4
#define FONA_TX D1
#define FONA_RX D0
#define FONA_RI D7 //not used
char replybuffer[255];
Adafruit_FONA_3G fona(FONA_TX, FONA_RX, FONA_RST, FONA_RI);
Serial pc(USBTX, USBRX);
int main()
{
fona.TCPinitialize();
char Timeout[21];
fona.getTCPtimeout(Timeout);
char * Server = "52.14.99.26";
uint16_t Port = 10001;
fona.TCPconnect(Server,Port);
char *Packet = "Pick Up %";
fona.TCPsend(Packet);
fona.TCPclose();
}