/**/
const int sensor =/*пин*/ A0; // сенсор подключен к этому выводу
int ReadSensor() {
static int val = analogRead(sensor); //<-читается в начале
static uint32_t lasttime = 0;
const uint32_t delta = 1000;
uint32_t mill = millis();
if (mill - lasttime >= delta) val = analogRead(sensor);
return val;
}
//---main()------------------------
void setup() {
Serial.begin(9600);
}
void loop() {
delay (200);
Serial.println(ReadSensor());
}
/*Скетч использует 1968 байт (6%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 196 байт (9%) динамической памяти, оставляя 1852 байт для локальных переменных. Максимум: 2048 байт.
*/
я внимательно посмотрел Ваш код, и обнаружил, что переменная lasttime в нем не обновляется! А если и обновляется, то я не понимаю, как? Ведь там нету строки
lasttime = mill;
Если чтение будет происходить циелически, она нужна? Или нет?
Если чтение будет происходить циелически, она нужна? Или нет?
забыл написать.
"Всякая найденная в программе последняя ошибка, на самом деле является предпоследней"
а у мня обычно получается так: В коде было 7 ошибок, 12 из них исправил, осталось 8.
а у мня обычно получается так: В коде было 7 ошибок, 12 из них исправил, осталось 8.
то были не ошибки, а прикольные фичи.
Клапа, я рад тебя видеть. Мы соскучивались тут.
Так и не довели до конца тему? А мне вот нужно...
Так и не довели до конца тему? А мне вот нужно...
У меня другое. Оптимизация. Завтра постараюсь изложить вкратце. Пока сам не пойму, что хочу.
PS: меню написано уже года 2 назад. Работает. Хочется большего функционала.
Итак, начнём:
Первое, что захотелось - индексация слов в меню. Например, нам нужно вывести на дисплей строку: Do you want start heating? Yes/No.
Проиндексируем использованные слова:
1-Do
2-you
3-want и так далее. По итогу вывод строки будет типа: функция(1,2,3,4,5,6,7,8,9,10) (знаки ? / . тоже учитываются )
А что это Вы пытаетесь делать? Память под тексты экономить? Если так, то мож лучше по Хаффману? Зазиповать текст нахрен, чем велосипед-то городить?
Итак, начнём:
Первое, что захотелось - индексация слов в меню. Например, нам нужно вывести на дисплей строку: Do you want start heating? Yes/No.
Проиндексируем использованные слова:
1-Do
2-you
3-want и так далее. По итогу вывод строки будет типа: функция(1,2,3,4,5,6,7,8,9,10) (знаки ? / . тоже учитываются )
eeprom_Ref.h
А что это Вы пытаетесь делать? Память под тексты экономить?
Спасибо за интерес к теме. Что я пытаюсь делать в этом примере - многоязычное меню. Думаю так будет проще.
Cl_btn.h
eeprom_Ref.h
lcd1602_i2c.h
Скетч похожий на выше, но под LCD5110 синенькую c выключением подсветки
Cl_btn.h
eeprom_Ref.h
Вот спасибо. Буду разбираться как там всё устроено и переписывать под себя.