проблема с ценностью конверсии
У меня есть две функции, которые возвращают int16_t, но мне нужно преобразовать целые числа в char* — это attiny13
Это было бы примерно так
const char* msg = "value1()"+','+"value2()"+','+"value3()"
как пример
#include "TinyRF_TX.h"
void setup(){
// контакт передатчика по умолчанию — контакт №2. Вы можете изменить его, отредактировав Settings.h.
setupTransmitter();
}
void loop(){
const char* msg = "Hello from far away!";
//функция отправки принимает массив байтов в качестве первого аргумента
//второй аргумент — длина массива
send((byte*)msg, strlen(msg));
//убедимся, что между передачами есть задержка не менее TX_DELAY_MICROS
//иначе поведение получателя будет неопределенным
delayMicroseconds(TX_DELAY_MICROS);
@jota mauel, 👍0
Обсуждение1 ответ
Вам придется создать строку самостоятельно. Вероятно, самый простой способ — использовать функцию sprintf()
, которая принимает набор аргументов и преобразует их в строку на основе заданных вами инструкций по форматированию.
По поводу статьи здесь... https://www.programmingelectronics.com/sprintf-arduino/
_"для attiny13"_ Код, в котором нет ничего, кроме avrlibc snprintf()
для int
в буфере, занимает около 1,5 КБ из доступного 1 КБ флэш-пространства на attiny13. И это без участия ядра Arduino, последовательного порта или чего-либо еще. Это может сработать для attiny85, или 45, или даже 25, у которых мало свободного места. Но для attiny13 вам придется сделать что-то более жесткое., @timemage
- Программирование сервопривода на ATtiny85
- Digispark ATtiny 85 - не распознается как HID устройство
- Клавиатура Digispark ATtiny85
- Как контролировать мощность attiny13a через прерывание смены контакта?
- Digispark Micro (ATTINY85) не работает на Macbook Pro 2016 г.
- ATtiny85 USB Устранение неполадок. Устройство не распознается, когда программатор просит подключить устройство
- Arduino IDE с ошибкой ATtiny85 «множественное определение `__vector_5»
- Связь AtTiny44 и AtTiny 85
Что вы собираетесь делать с этой строкой? Если вы собираетесь отправить его куда-нибудь с помощью
Something.print()
илиSomething.write()
, вам, вероятно, вообще не нужно его собирать., @Edgar Bonetспасибо за ваш ответ, вы увидите, что мне нужно отправить эту строку с помощью tinyRF, насколько я вижу, она позволяет отправлять только строки типа pchar *, @jota mauel