Ну а что вы "гуру" не объясните болезному , что он пытается писать на суржике Си, ничего общего не имеющего ни с ООП ни с плюсами. А уж если "цЫфровые автоматы" это попытка создать конечный автомат тогда абма...
Я читал однако. Вы счас что его засыпали фекалиями, если вам очевидно что человек болен. Любите издеваться над жЫвотными, иголочками тыкать...
ты зачем Винни больным жывотным обозвал?
он не болен - это его нормально-стабильное состояние: вилкой ни себе, ни соседу не тыкает в глаз, пишет в код всякое. а, кто не писал всякое? - ткните в него вилкой!
Да судя по коду - онанизм с частичной специализацией, не более того. Зачем оно в том виде, в котором есть - хз. Квон, похоже, не совсем понимает, зачем нужна частичная специализация. Пусть развлекается, чо уж там.
Квон, ты напрасно уверен в том, что я наезжаю на тебя. Используешь слова типа "обсирать". Это не так, поверь. Мне реально симпатичны твоё усердие и старание, и мне приятно тебе помочь. Пока моя помощь состоит только в демонстрации факта наличия ошибок (уверен с их сутью ты и сам разберёшься). Но если какая-то из ошибок непонятна, не стесняйся спрашивать - я всегда объясню и помогу.
C:\Qwone\test\test.ino: In member function 'eeprom_Ref<T>& eeprom_Ref<T>::operator=(const T&) [with T = unsigned char]':
C:\Qwone\test\test.ino:33:22: warning: invalid conversion from 'const unsigned char*' to 'uint8_t* {aka unsigned char*}' [-fpermissive]
In file included from C:\Arduino\arduino-1.8.10\hardware\arduino\avr\cores\arduino/USBAPI.h:25:0,
from C:\Arduino\arduino-1.8.10\hardware\arduino\avr\cores\arduino/Arduino.h:233,
from sketch\test.ino.cpp:1:
c:\arduino\arduino-1.8.10\hardware\tools\avr\avr\include\avr\eeprom.h:164:6: note: initializing argument 1 of 'void eeprom_write_byte(uint8_t*, uint8_t)'
void eeprom_write_byte (uint8_t *__p, uint8_t __value);
^~~~~~~~~~~~~~~~~
C:\Qwone\test\test.ino: In member function 'eeprom_Ref<T>& eeprom_Ref<T>::operator=(const T&) [with T = unsigned int]':
C:\Qwone\test\test.ino:45:21: warning: invalid conversion from 'const unsigned int*' to 'uint16_t* {aka unsigned int*}' [-fpermissive]
In file included from C:\Arduino\arduino-1.8.10\hardware\arduino\avr\cores\arduino/USBAPI.h:25:0,
from C:\Arduino\arduino-1.8.10\hardware\arduino\avr\cores\arduino/Arduino.h:233,
from sketch\test.ino.cpp:1:
c:\arduino\arduino-1.8.10\hardware\tools\avr\avr\include\avr\eeprom.h:169:6: note: initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)'
void eeprom_write_word (uint16_t *__p, uint16_t __value);
^~~~~~~~~~~~~~~~~
C:\Qwone\test\test.ino: In member function 'eeprom_Ref<T>& eeprom_Ref<T>::operator=(const T&) [with T = long unsigned int]':
C:\Qwone\test\test.ino:57:22: warning: invalid conversion from 'const long unsigned int*' to 'uint32_t* {aka long unsigned int*}' [-fpermissive]
In file included from C:\Arduino\arduino-1.8.10\hardware\arduino\avr\cores\arduino/USBAPI.h:25:0,
from C:\Arduino\arduino-1.8.10\hardware\arduino\avr\cores\arduino/Arduino.h:233,
from sketch\test.ino.cpp:1:
c:\arduino\arduino-1.8.10\hardware\tools\avr\avr\include\avr\eeprom.h:174:6: note: initializing argument 1 of 'void eeprom_write_dword(uint32_t*, uint32_t)'
void eeprom_write_dword (uint32_t *__p, uint32_t __value);
^~~~~~~~~~~~~~~~~~
C:\Qwone\test\test.ino: In member function 'eeprom_Ref<T>& eeprom_Ref<T>::operator=(const T&) [with T = float]':
C:\Qwone\test\test.ino:69:22: warning: invalid conversion from 'const float*' to 'float*' [-fpermissive]
In file included from C:\Arduino\arduino-1.8.10\hardware\arduino\avr\cores\arduino/USBAPI.h:25:0,
from C:\Arduino\arduino-1.8.10\hardware\arduino\avr\cores\arduino/Arduino.h:233,
from sketch\test.ino.cpp:1:
c:\arduino\arduino-1.8.10\hardware\tools\avr\avr\include\avr\eeprom.h:179:6: note: initializing argument 1 of 'void eeprom_write_float(float*, float)'
void eeprom_write_float (float *__p, float __value);
^~~~~~~~~~~~~~~~~~
Скетч использует 3166 байт (9%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 200 байт (9%) динамической памяти, оставляя 1848 байт для локальных переменных. Максимум: 2048 байт.
вопрос можно? Реально в твоём коде кнопки добавить двойное-тройное нажатие, хотя бы двойное
Можно, хоть титановый велосипед. Просто я считаю, что в нормально спроектированном меню это не желательно. Где-то я Гайверовские кнопки подключал. Используйте их.
вопрос можно? Реально в твоём коде кнопки добавить двойное-тройное нажатие, хотя бы двойное
Можно, хоть титановый велосипед. Просто я считаю, что в нормально спроектированном меню это не желательно. Где-то я Гайверовские кнопки подключал. Используйте их.
пробовал, бывают сбои, на твоём коде за всё время отработки (ТАМ УЖЕ ЗА 800 СТРОК) одной программы ни одного сбоя )))
Правда сын посмотрев мой код изрёк - такое впечатление, что писали как минимум три программиста, ...
я жеж просто заимствую код...естественно - сборная солянка )))
Вот и я об этом. Лучше меньше, да надежней. Я к этому варианту меню пришел не сразу. И обработка кнопок с минимумом тоже не сразу. И да скорее обменял долгое нажатие на повторное нажатие. Вот сейчас ковыряюсь с EEPROM. Тоже неплохо выйдет. Вот только интерфейс команд класса и некоторая защита от идиота.
/**/
#include "aaa.h"
byte* adr1 = (byte*)0;
int num = 10;
void setup() {
Serial.begin(9600);
aaa<byte> a(adr1);
Serial.print('\n');
for (int i = 0; i < num; i++) {
Serial.print(a[i]); Serial.print(' ');
}
Serial.print('\n');
for (int i = 0; i < num; i++) {
Serial.print(a[i] = a[i] + 1); Serial.print(' ');
}
Serial.print('\n');
}
void loop() {
}
небольшой омак. Три виртуальных экрана.
lcd2004_i2c.h
Немного переформатировал программу
Cl_btn.h
lcd2004_i2c.h
menu.h
qwonelib.h
Ну и зарисовки по Морзе
для читабельности кода на слух пауза между буквами должна быть 1.5 паузы между точками и тире
Жду код заветной кнопки, то-есть, кнопка работающая на PCINT
А что, в лисапете нету?
А что, в лисапете нету?
в лисапете калидоре булгахтеры...
страна русской дислексии - тьфу!
для читабельности кода на слух пауза между буквами должна быть 1.5 паузы между точками и тире
для читабельности кода на слух пауза между буквами должна быть 1.5 паузы между точками и тире
три многовато видимо
А что, в лисапете нету?
не знаю )))
ВЫ же знаете, мы радисты и пятерные клики различаем, а там что-то с двойными и одинарными проблема, или я так понял
для читабельности кода на слух пауза между буквами должна быть 1.5 паузы между точками и тире
три многовато видимо
вроде бы стандарт был 1 - 3 - 7 ?
возможно, но точка точно маловато, совсем всё сливается
не знаю )))
...проблема, или я так понял
не читал, но осуждаю(с)
- садись! пять по геноциду здравого смысла!
Ну а что вы "гуру" не объясните болезному , что он пытается писать на суржике Си, ничего общего не имеющего ни с ООП ни с плюсами. А уж если "цЫфровые автоматы" это попытка создать конечный автомат тогда абма...
Досикус, наверное стоит хотя бы первую страницу проглядеть по диагонали, прежде чем включать босса, как всегда, и начинать предъявами сыпать?
Я читал однако.
Вы счас что его засыпали фекалиями, если вам очевидно что человек болен.
Любите издеваться над жЫвотными, иголочками тыкать...
ты зачем Винни больным жывотным обозвал?
он не болен - это его нормально-стабильное состояние: вилкой ни себе, ни соседу не тыкает в глаз, пишет в код всякое. а, кто не писал всякое? - ткните в него вилкой!
EEPROM_qLib.h
я запретил разговаривать с болезными - сразу в пропасть!
EEPROM_qLib.h
aaa.h
А теперь тоже самое но с записью EEPPROM
aaa.h
шаблон только с явной специализаций.
А что допустимo в качестве T ? Кроме byte, конечно.
А что допустимo в качестве T ? Кроме byte, конечно.
Вопрос с подковыркой, насколько я понимаю, мельком взглянув на код? ;)
Интересуюсь.
А что допустимo в качестве T ? Кроме byte, конечно.
Вопрос с подковыркой, насколько я понимаю, мельком взглянув на код? ;)
а в фиге вместо косточки стриптиз? )))
Интересуюсь.
Да судя по коду - онанизм с частичной специализацией, не более того. Зачем оно в том виде, в котором есть - хз. Квон, похоже, не совсем понимает, зачем нужна частичная специализация. Пусть развлекается, чо уж там.
А что допустимo в качестве T ? Кроме byte, конечно.
ПС:https://metanit.com/cpp/tutorial/5.15.php
Опять квона бьют...
А теперь тоже самое но с записью EEPPROM
Семё-ё-ён Семёныч ...
Пух, ну ты же взрослый мужик, претендуешь на какие-то знания, ну что же ты творишь?
Вот это что такое?
Давай напечатаем твои адреса.
Ты точно этого хотел? Может, вот так надо было?
Так должно быть?
Но, если сделать так, то не проходит твой тест. Почти твой - я лишь переместил число раньше строки и само число поменял. Смотри сам:
Видишь, что число переврано? Твоя строка его затирает!
Опять квона бьют...
за то, что двойное нажатие к кнопке не приделал?
разобрался с <char*>
aaa.h
ПС: А это чисто поржать https://www.youtube.com/watch?v=XZEi0bzrMfY
очередной набросок
очередной набросок
очередной набросок
очередной набросок
вопрос можно? Реально в твоём коде кнопки добавить двойное-тройное нажатие, хотя бы двойное
пробовал, бывают сбои, на твоём коде за всё время отработки (ТАМ УЖЕ ЗА 800 СТРОК) одной программы ни одного сбоя )))
Правда сын посмотрев мой код изрёк - такое впечатление, что писали как минимум три программиста, ...
я жеж просто заимствую код...естественно - сборная солянка )))
Вот и я об этом. Лучше меньше, да надежней. Я к этому варианту меню пришел не сразу. И обработка кнопок с минимумом тоже не сразу. И да скорее обменял долгое нажатие на повторное нажатие. Вот сейчас ковыряюсь с EEPROM. Тоже неплохо выйдет. Вот только интерфейс команд класса и некоторая защита от идиота.
aaa.h
ПС: И да я совмещаю .h c .cpp для удобства выкладки на форуме.
Промежуточный вариант
eeprom_Ref.h
Похоже почти получилось создать реферальный класс на EEPROM
eeprom_Ref.h
Следующая доработка класса. И да шаблон класса почему-то на два файла .h и .cpp не делится, а точнее не компилируется
eeprom_Ref.h
Организовал на основе этого класса меню и посмотрел как выглядит он в этой комбинации
Cl_btn.h
eeprom_Ref.h
lcd2004_i2c.h
menu.h
Подброшу еще один вариант Меню на LCD Keypad Shield с текстами на 5 песенок размещенных в PROGMEM