attachInterrupt не работает скетч
- Войдите на сайт для отправки комментариев
Чт, 26/04/2018 - 15:10
Чтобы протестировать датчик радиации отсюда http://geektimes.com/post/281618/ взят код
int pocet; // переменная для подсчета частиц unsigned long time; // время наблюдения void setup() { pinMode(2, INPUT); // pin 2 вход от счетчика Гейгера attachInterrupt(0, nacti, RISING); // настройка прерывания Serial.begin(9600); // настройка скорости передачи данных по последовательному интерфейсу Serial.println(" "); // Новая строка при ресете } void nacti() { pocet = pocet++; // обработка int0 } void loop() { pocet = 0; // новое измерение time = millis() + 60000; // время конца измерения while (time > millis()) {} // ожидание 1 минуту if (pocet < 10) Serial.print(" "); // форматировать согласно количества цифр if (pocet < 100) Serial.print(" "); if (pocet < 1000) Serial.print(" "); Serial.print(pocet); // написать количество распадов/мин Serial.print(" "); for (int i = 0; i < pocet; i++) { // графический вывод Serial.print("#"); } Serial.println(" "); // окончание строки }
Результат его рабоыт отраженный в системном мониторе должен быть таким:
Подаю руками 5 в на 2 пин несколько раз. Серийный монитор показывает нули. Как мне добиться такого же результата как в оригинале? Если у кого получится, поделитесь в чем секрет.
volatile int pocet;
Строка 12:
оставьте только
pocet++;
зачем этот цирк с конями?
Строки 17-18:
так писать нельзя. Конечно, Ваш код врядли предназначен для работы в течение двух месяцев без перезагрузки, но не привыкайте. Пишите правильно.
Насчёт Вашего заявления, что
Результат его рабоыт отраженный в системном мониторе должен быть таким:
позволю себе усомниться.
1) где на картинке пробелы, печатаемые в строке №19?
2) в строке №23 печатается один пробел. На картинке же их явно больше.
Оно может и правильно. Но серийный монитор по прежнему показывает нули и не реагирует на смену напряжения на 2 пине.
А свежий код, после правок, Вы не хотите показать? Или Вы предлагает нам сами догадываться что и как Вы поправили?
Похоже, это действительно вранье. Показатели монитора из другого скетча. Удивительно как много народу откоментировало эту статью и все явно специалисты. А то, что код не рабочий никто не заметил.
Нашел вот такой счетчик. Может, кому пригодится.
Проверил руками, потом подключил прибор, кажисть работает. Правда распадов не так много фиксирует как в статье показано. Но, повторюсь, код там не рабочий.
И увеличивает ошибку прибора примерно в 4 раза .. :)
Да никому нафиг не сдалось анализировать ваш "код" на всю глубину. Вам указали на ошибки, за которые руки надо отрубать на месте, но вы и в вашем "новом" коде продолжаете их за собой тащить. Необучаем-с.
Не, это Вы "не читатель". Автор совершенно честно сказал что первый код он стырил в одном месте, а второй в ином. Это ваще ни разу не ЕГО код .. :)
кажисть работает
Вы пост #1 видели? Или человек его зря писал?
Может, кому пригодится.
Кому модет пригодится толком неработающий кусок кода? Только Вам или такому же как Вы.
Я так понимаю вы с помощью хамства сайт продвигаете. И с чего вы взяли что, это толком неработающий кусок кода? Код работает и назначение свое выполняет. А таким трололо вы только людей в заблуждение вводите. И ценность форума понижаете. Пока.
Да это ниразу не мой код. Да я вообще за жизнь не одного логического оператора не изобрел. Можешь идти фапать.
с чего вы взяли что, это толком неработающий кусок кода?
да, просто, посмотрели на код и взяли.
Код работает и назначение свое выполняет.
Тут спорить не буду, ибо хрен его знает, каково его назначение.