0

非常に単純な問題になると感じていることを前もって申し訳ありませんが、私は何時間もそれに立ち往生しており、ここで見つけたものに基づいて修正する方法を見つけることができませんでしたまたはグーグルで。

GPS とラジオに接続された arduino があり、GPS 信号をラジオにブロードキャストしようとしています。私が今やろうとしているのは、NMEA センテンスを GPS から変数 'text' に取得することですが、配列が原因であると思われるこのエラーに混乱しています。

私のエラーはこの行で発生しています: sprintf(text, char(c));

私はいくつかの異なることを試しましたが、これは私が現時点で立ち往生しているところです. どんな助けでも本当に感謝しています。

#define RADIOPIN 13
#include <string.h>
#include <util/crc16.h>
#include <Adafruit_GPS.h>
#include <SoftwareSerial.h>

SoftwareSerial mySerial(3, 2);

#define GPSECHO  true

Adafruit_GPS GPS(&mySerial);

char datastring[80];
char text[80];

void setup() {
  Serial.begin(115200);
  GPS.begin(9600);
  GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCGGA);
  GPS.sendCommand(PMTK_SET_NMEA_UPDATE_5HZ);
  delay(3000);  
  pinMode(RADIOPIN,OUTPUT);
}

void loop(){
  gpscheck();
}

void gpscheck(){
    char c = GPS.read();
    if (c) {
//      Serial.print(c); 
    sprintf(text, char*(c));
    Serial.print(text);
    }
}
4

2 に答える 2

1
于 2013-11-10T11:15:28.363 に答える
1
sprintf(text, char*(c));

文字を印刷したい場合

simply use printf("%c",c);

それをテキストにコピーしたい場合

sprintf(text,"%c", c);
于 2013-11-10T11:15:44.833 に答える