Как перевести integer в char (Arduino)?

Для обмена данными между двумя Ардуинами мною используется библиотека VirtualWire - хотя это не важно.
При осуществлении передачи данных, мне необходимо чтобы в самом передаваемом сообщении, содержался номер сообщения. Для этого я использую счетчик j = j +1;
И мне необходимо значение j добавлять в строку, которая присваивается к *msg.
К примеру чтобы получалось:
const char *msg = "Сообщение номер " + j;  //но если так писать, то выдает ошибку

Как преобразовать значение j из типа integer в тип char чтобы я смог его присвоить к *msg ?

Программный код:

// transmitter.pde
//
// Simple example of how to use VirtualWire to transmit messages
// Implements a simplex (one-way) transmitter with an TX-C1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@airspayce.com)
// Copyright (C) 2008 Mike McCauley
// $Id: transmitter.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $
 
#include <VirtualWire.h>
 
int j=0;
 
void setup()
{
Serial.begin(9600); // Debugging only
//Serial.println("setup");
 
// Initialise the IO and ISR
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(200); // Bits per sec
}
 
void loop()
{
  j = j + 1;

const char *msg = "На месте должно быть значение j";
 
digitalWrite(13, true); // Flash a light to show transmitting
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx(); // Wait until the whole message is gone

digitalWrite(13, false);
delay(200);
}
  • Вопрос задан
  • 7527 просмотров
Решения вопроса 1
gbg
@gbg Куратор тега Arduino
Любые ответы на любые вопросы
itoa, например
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@yanchumak
char msg[64]={0};
sprintf(msg,"На месте должно быть значение %d",j);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы