TM1637 и ESP8266

Использование дисплеев и обсуждение пользовательских блоков к ним
Ответить
xtern
Рядовой
Сообщения: 21
Зарегистрирован: 13 апр 2017, 13:11
Откуда: Омск
Контактная информация:

TM1637 и ESP8266

Сообщение xtern »

Приветствую знатоки , не понятная ерунда, пытаюсь скомпилировать проект с блоком ТМ1637 на esp8266  код ниже:

#include "TM1637.h"
bool En_4749842_1;
int Value_4749842_1;
bool Point_4749842_1;
int Brt_4749842_1;
TM1637 TM1637_4749842_1(3, 2);
void setup()
{
TM1637_4749842_1.init();//
}
void loop()
{

//Плата:1
En_4749842_1 = !(0);
Value_4749842_1 = 1234;
Point_4749842_1 = 0;
Brt_4749842_1 = 0;

// TM1637_4749842_1
if (En_4749842_1)
{
TM1637_4749842_1.point(Point_4749842_1); // включаем точки
TM1637_4749842_1.set(Brt_4749842_1);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
TM1637_4749842_1.display(Value_4749842_1);
}

}
Компилятор выдает ошибку:
void display(int8_t DispData[]);

^

c:\Users\paulkin_av\Downloads\arduino port\ideV2\libraries\TM1637/TM1637.h:64:8: note:   no known conversion for argument 1 from 'int' to 'int8_t* {aka signed char*}'

c:\Users\paulkin_av\Downloads\arduino port\ideV2\libraries\TM1637/TM1637.h:66:8: note: void TM1637::display(double)

void display(double Decimal);

^

c:\Users\paulkin_av\Downloads\arduino port\ideV2\libraries\TM1637/TM1637.h:67:8: note: void TM1637::display(int16_t)

void display(int16_t Decimal);

^

exit status 1
call of overloaded 'display(int&)' is ambiguous

На Atmega 328 все компилится без проблем, тут же какая то ерунда
Это проявляется только с данными типа Intiger, с Float нормально, но не устраивает
Последний раз редактировалось xtern 29 сен 2017, 10:03, всего редактировалось 1 раз.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

TM1637 и ESP8266

Сообщение pan »

думаю это из-за разрядности. атмега 8 битный. для него флоат занимает 4 байта или 32 бита. а есп 32 битный.
xtern
Рядовой
Сообщения: 21
Зарегистрирован: 13 апр 2017, 13:11
Откуда: Омск
Контактная информация:

TM1637 и ESP8266

Сообщение xtern »

И как быть?
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

TM1637 и ESP8266

Сообщение pan »

сделайте переменные 32 битными вместо int . например long
xtern
Рядовой
Сообщения: 21
Зарегистрирован: 13 апр 2017, 13:11
Откуда: Омск
Контактная информация:

TM1637 и ESP8266

Сообщение xtern »

с long не работает
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

TM1637 и ESP8266

Сообщение pan »

unsigned long ? double?

Добавлено (03.10.2017, 08:25)
---------------------------------------------
хотя наверное double может воспринять как 64 бит число...

Добавлено (03.10.2017, 08:26)
---------------------------------------------
еще можно поискать любой скетч для esp и посмотреть какой там тип данных используется
Аватара пользователя
Dev1
Майор
Сообщения: 1026
Зарегистрирован: 12 июл 2016, 18:04
Откуда: Гондурас

TM1637 и ESP8266

Сообщение Dev1 »

Особо не разбирался, т.к. нету есп и тм1637. Кое что нашел на гите по вашей проблеме. Там используют не int8_t, а uint8_t. По int16_t так же uint16_t...
Win10-64 FLProg v7.5.2 Portable :fie:
xtern
Рядовой
Сообщения: 21
Зарегистрирован: 13 апр 2017, 13:11
Откуда: Омск
Контактная информация:

TM1637 и ESP8266

Сообщение xtern »

эм, это как? я не очень то программист))

Добавлено (03.10.2017, 13:50)
---------------------------------------------
Спасибо , заработало, но не могу разобраться как включить двоеточие
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Контактная информация:

TM1637 и ESP8266

Сообщение Sancho »

xtern писал(а):эм, это как? я не очень то программист))
Я тоже, но попытаюсь прояснить.
u= unsigned, т.е. беззнаковый тип, только положительные числа. 
uint16_t означает, что число будет представленно как беззнаковое(положительное), размером 16 бит.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Labu55
Сержант
Сообщения: 130
Зарегистрирован: 30 июл 2017, 12:22

TM1637 и ESP8266

Сообщение Labu55 »

Sancho писал(а):это как?
Типы short, int, long и long long не имеют стандартного размера.
Как правило, их размер определяется исходя из процессорной архитектуры.
Пример
Для 8-битных микроконтроллеров: char— 8 бит, int-16 бит, long, float, double— 32 бита.
Для 32-х битных: char— 8 бит, short-16 бит, int, float— 32 бита,long, double— 64 бита.
Чтобы избавиться от неразберихи при переносе на разные платформы в стандарт были введены типы с фиксированным размером: uint8_t, int32_t, uint16_t, int64_t и т.д.
Это кратко, подробнее- знаете где искать.
Последний раз редактировалось Labu55 03 окт 2017, 16:11, всего редактировалось 1 раз.
xtern
Рядовой
Сообщения: 21
Зарегистрирован: 13 апр 2017, 13:11
Откуда: Омск
Контактная информация:

TM1637 и ESP8266

Сообщение xtern »

ПОБЕДА!!! добавил Short и все срослось, спасибо за помощь
Labu55
Сержант
Сообщения: 130
Зарегистрирован: 30 июл 2017, 12:22

TM1637 и ESP8266

Сообщение Labu55 »


xtern писал(а):ПОБЕДА!
И тут без "нечистой" не обошлось- Short poderi 
xtern
Рядовой
Сообщения: 21
Зарегистрирован: 13 апр 2017, 13:11
Откуда: Омск
Контактная информация:

TM1637 и ESP8266

Сообщение xtern »

кому интересно блок выложил в профильной ветке
Ответить

Вернуться в «Дисплеи и индикаторы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость