0

Adafruit Feather M0 ボードと LoRa ラジオを使用して、GPS 位置を受信機に送信したいと考えています。ISO 8601 タイムスタンプと緯度/経度 GPS 値を使用してデータ パケットを作成しようとすると、次のコードを使用してchar配列を作成し、送信します。

char radiopacket[40] = {GPS.year + "-" + GPS.month + "-" + GPS.day + "T" + GPS.hour + ":" + GPS.minute + ":" + GPS.seconds + "Z" + "," + GPS.latitude + "," + GPS.longitude};
rf95.send((uint8_t *)radiopacket, 40);

エラーが発生し続けます:

タイプ 'const char*' および 'const char [2]' からバイナリ 'operator+' への無効なオペランド

どこが間違っていますか?

4

2 に答える 2

0

C ではそのような文字列を連結することはできません。

char radiopacket[40];
sprintf(radiopacket, "%04d-%02d-%02dT%02d:%02d:%02dZ,%f,%f", GPS.year, GPS.month, GPS.day, GPS.hour, GPS.minute, GPS.seconds, GPS.latitude, GPS.longitude); 
rf95.send((uint8_t *)radiopacket, 40);

フォーマット文字列 ( )に関するドキュメントについては、こちらを参照してください"%04d-..."sprintf

于 2016-08-20T15:04:48.840 に答える
0

私は推測して、あなたがPythonから来ていると言います。

必要なのはstd::stringstreamだと思います

于 2016-08-20T15:11:56.000 に答える