как преобразовать uint8_t в строку?
- Войдите на сайт для отправки комментариев
Ср, 29/01/2014 - 21:15
Здравствуйте. Пытаюсь взять время из Tiny RTC и вывести на LCD KeyPad Shield.
#include <Wire.h> #include "RTClib.h" #include <LCD4Bit_mod.h> LCD4Bit_mod lcd = LCD4Bit_mod(2); void setup () { lcd.init(); rtc.begin(DateTime(__DATE__, __TIME__)); } void loop () { DateTime now = rtc.now(); lcd.printIn(now.year()); }
Но не получается. Потому, что функция printIn() принимает в качестве аргумента строку (массив). Подскажите как это можно исправить.
Спасибо большое. Столько времени потратил на это. Я так понимаю эта функция из С++?
это Си, полностью совместим с С++
Получается можно использовать все функции С?
конечно
Ну не совсем всё можно, в частности, чтобы sprintf( buf, "%f", floatValue ) придется пошаманить. Т.е. по умолчанию урезанная версия printf подключается (без форматов с плавающей точкой), хотя можно и полную подключить при желании.
Ну не совсем всё можно, в частности, чтобы sprintf( buf, "%f", floatValue ) придется пошаманить. Т.е. по умолчанию урезанная версия printf подключается (без форматов с плавающей точкой), хотя можно и полную подключить при желании.
описанное вами ограничение не относится к теме Си/С++, оно относится к специфике используемой ардуино библиотеке avr-gcc. Сам особо не использую плавающую точку, но в документе на avr-gcc видел описание о том как подключать либо математику низкой точности, но генерящую компактный код либо дающую высокую точность и "жирный" код
Подключить можно и на АрдуиноИде, требуется небольшая правка среды, добавление возможности указать любые ключики для линкера.
Я все таки считаю, что sprintf напрямую относится к теме с/с++. И про это нужно говорить, чтобы потом не задавали странных вопросов.