Forum: Mikrocontroller und Digitale Elektronik Byte Array mit Variablen


von Maximilian P. (maxpis)


Lesenswert?

Guten Tag,
ich versuche mit dem ATSAMC21 Mikrocontroller eine SMS zu verschicken. 
Dies funktioniert auch. Erst definiere ich uint8_t arrrays und sende 
diese mit io_write an das GSM-Modul.

static uint8_t handshake[] = "AT\r";
static uint8_t textmode[] = "AT+CMGF=1\r";
static uint8_t number[] = "AT+CMGS=\"+xxxxxxxxx\r";
static uint8_t text[] = "Die Zahl 4 ist positiv";
static uint8_t ctrlz[] = "\x1A";

io_write(&USART_1.io, text, strlen(text));

Syntax io_write

int32_t io_write(struct io_descriptor *const io_descr, const uint8_t 
*const buf, const uint16_t length)

Nun will ich bei dem Text der SMS die Zahl 4 durch eine Variable 
ersetzen. Ich komm aber einfach nicht drauf, wie das funktionieren soll. 
Hat jemand von euch einen Vorschlag oder ein code? Ich wäre euch sehr 
dankbar! Vielen Dank!

Grüße

Max

von Nick M. (Gast)


Lesenswert?

snprintf

von Guest (Gast)


Lesenswert?

Da deine io_write funktion anscheinend bleibe formatieren Strings 
unterstützt wäre sprintf vermutlich der einfachste Weg.

von Maximilian P. (maxpis)


Lesenswert?

Hat geklappt. Vielen Dank euch beiden!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.