Многоканальный таймер

Больше
2 года 6 мес. назад - 2 года 6 мес. назад #16 от astruve
astruve ответил в теме Re: Многоканальный таймер
Роман, несколько вопросов по проекту:
1. Сколько программных таймеров задействовано в отдельном канале? Один, два?
2. Насколько критична привязка кнопок к порту D по отношению к программе проекта, можно ли их привязать
К порту Е (для Меги128)? Если да(мне надо освободить RXD и TXD), что надо изменить в программе чтобы
не нарушить алгоритм работы? Пины поменять не сложно, а остальное?
3. В каком месте программы заменить минимальный отрабатываемый интервал времени на 60 сек пока плохо разбираюсь в чужих программах) "ткните носом"?
Последнее редактирование: 2 года 6 мес. назад от astruve. Причина: Повтор

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 6 мес. назад #17 от astruve
astruve ответил в теме Re: Многоканальный таймер

astruve пишет: Роман, несколько вопросов по проекту:
1. Сколько программных таймеров задействовано в отдельном канале? Один, два?
2. Насколько критична привязка кнопок к порту D по отношению к программе проекта, можно ли их привязать
К порту Е (для Меги128)? Если да(мне надо освободить RXD и TXD), что надо изменить в программе чтобы
не нарушить алгоритм работы? Пины поменять не сложно, а остальное?
3. В каком месте программы заменить минимальный отрабатываемый интервал времени на 60 сек пока плохо разбираюсь в чужих программах) "ткните носом"?

Здравствуйте!
Как долго можно ждать от Вас ответа?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 6 мес. назад #18 от ARV
ARV ответил в теме Re: Многоканальный таймер
Ждать придётся ровно столько, на сколько у вас хватит терпения.
Я в командировке.

я не ленивый, я энергосберегающий...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 6 мес. назад - 2 года 6 мес. назад #19 от ARV
ARV ответил в теме Re: Многоканальный таймер

astruve пишет: Роман, несколько вопросов по проекту:
1. Сколько программных таймеров задействовано в отдельном канале? Один, два?
2. Насколько критична привязка кнопок к порту D по отношению к программе проекта, можно ли их привязать
К порту Е (для Меги128)? Если да(мне надо освободить RXD и TXD), что надо изменить в программе чтобы
не нарушить алгоритм работы? Пины поменять не сложно, а остальное?
3. В каком месте программы заменить минимальный отрабатываемый интервал времени на 60 сек пока плохо разбираюсь в чужих программах) "ткните носом"?

1. Что такое "программный таймер" в вашем понимании? Для счета времени задействован один аппаратный таймер, для работы с кнопками - другой.
2. Проще всего переместить кнопки на другой порт одновременно все. В этом случае придется изменить пару-тройку строк в файле buttons.c. К сожалению, я допустил неаккуратность и не вынес нужные определения в buttons.h, поэтому править придется по живому коду. Других зависимостей кнопок от порта нет.
3. Зачем это вам? Надо отрабатывать минутные интервалы - пользуйтесь переменной счета МИНУТ.

я не ленивый, я энергосберегающий...
Последнее редактирование: 2 года 6 мес. назад от ARV.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 1 мес. назад #20 от siema
siema ответил в теме Re: Многоканальный таймер
Роман, добрый день!
Заинтересовался вашей замечательной работой.
Появились вопросы. Какие фьюзы выставлять и задействованы ли часы DS1307?
С уважением,
Олег

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 1 мес. назад #21 от ARV
ARV ответил в теме Re: Многоканальный таймер
В статье приведена "схема" из протеуса, там нет часов DS1307. Функция счета времени реализована программно, для чего применяется "часовой" кварц.

Фьюзы должны задавать тактирование от встроенного RC-генератора 8 МГц.

я не ленивый, я энергосберегающий...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 1 мес. назад #22 от siema
siema ответил в теме Re: Многоканальный таймер
Огромное спасибо за ответ.
Буду впитывать и разбираться.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 1 мес. назад #23 от Николай
Николай ответил в теме Re: Многоканальный таймер
Добрый день, Роман!
Повторил Ваш таймер на Atmega 16 и на Atmega 8. Все прекрасно работает!
Попытался сделать на Atmega128. Столкнулся с тем, что индикация секунд происходит не посекундно а как бог даст...
В основном через две а то и три секунды...
Получается что часовой кварц в 128 меге нужно подсоединять к Т0 ,а Т2 на клавиатуру. Но приоритет прерываний Т2 выше чем Т0 у меги 128. Думаю что проблема в этом. Попытки мои использовать Т3 для клавиатуры не дали нужного результата. Подскажите ,пожалуйста, в чем может быть проблема?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 1 мес. назад #24 от ARV
ARV ответил в теме Re: Многоканальный таймер
Да, в 128-й меге асинхронный таймер имеет номер 0, а не 2, как у мег "поменьше". Более того, именно нулевой таймер там предназначен для работы с часовым кварцем.
Вам придется подкорректировать проект чуть сильнее, чем предполагалось, но, надеюсь, вы справитесь.

Еще хотелось бы узнать впечатления о самом подходе, который я предпринял: насколько возможности "программирования" таймера удобны, полезны, востребованы?

я не ленивый, я энергосберегающий...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 1 мес. назад - 2 года 1 мес. назад #25 от ARV
ARV ответил в теме Re: Многоканальный таймер
Забыл: приоритет прерываний, как мне кажется, не является принципиальным в данном случае. Что от часового кварца, что от таймера для обслуживания клавиатуры они поступают достаточно "редко" по меркам МК, чтобы это приводило к каким-то существенным проблемам.

я не ленивый, я энергосберегающий...
Последнее редактирование: 2 года 1 мес. назад от ARV. Причина: грамматическая ошибка

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 1 мес. назад #26 от Николай
Николай ответил в теме Re: Многоканальный таймер
Роман, спасибо за быстрый ответ.
Мне очень понравилась возможность перекомпилировать проэкт под имеющийся мк. Очень здорово что можно просмотреть исходники, структуру и поучится как нужно писать код.Очень хороший пример как нужно создавать проэкты с большим количеством файлов. Вообщем я бы поставил бы ОТЛИЧНО!
SMTP2 использую для управлением накопительных водонагревателей и электропростынью. Нареканий по работе редактора у меня нет.
Буду пытаться разобраться с мега128. Просто их у меня кучка, а мега16 и мега8 были по 1шт.
Если дело не в приоритете таймеров, то буду копать дальше....

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 1 мес. назад #27 от Николай
Николай ответил в теме Re: Многоканальный таймер
Добрый день, Роман!
Столкнулся с такой проблемой.Не удаляеется ранее введенная программа в К1 или в другом канале.
Кнопкой Left введенные символы стираются, остается один символ но выйти из режима редактирования не получается. Программа остается в памяти.... Есть ли решение этой проблемы?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 3 нед. назад #28 от siema
siema ответил в теме Re: Многоканальный таймер
Роман, добрый день!
У меня установлены AVRStudio 4.19 и 6.2. На обоих не могу откомпилировать проект.
4.19 выдает ошибки:
Файл "avr_helper.h":
в строке:
// особый тип для описания констант в пространстве памяти __flash
typedef const char __flash fchar;
Ошибка:
../avr_helper.h:7:28: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fchar'
In file included from ../main.c:25:0:
Файл "display.h":
в строке:
void display_fnprn(fchar *s, uint8_t size);
Ошибка:
../display.h:31:26: error: expected ')' before '*' token
make: *** [main.o] Ioeaea 1
6.2 не находит файл avr_helper.h. Куда я его только не выкладывал и пути в main.c другие прописывал...
Подпапок include много. В какую именно, можете подсказать?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 3 нед. назад #29 от ARV
ARV ответил в теме Re: Многоканальный таймер
4.19, если я не ошибаюсь, использует не подходящую версию AVR-GCC, минимальная версия компилятора указана в "шапке" комментариев в проекте.

Со студией 6.2 я не знаком, но если проблема в нахождении avr_helper.h, то ее можно решить не так, так этак: найдите все #include <avr_helper.h> и замените их на #include "avr_helper.h", а сам файл положите в папку проекта, где все остальные исходники - так 100% найдет.

я не ленивый, я энергосберегающий...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 3 нед. назад #30 от ARV
ARV ответил в теме Re: Многоканальный таймер

Николай пишет: Не удаляеется ранее введенная программа в К1 или в другом канале.

Извините, долго отсутствовал и пропустил ваше сообщение - постараюсь разобраться.

я не ленивый, я энергосберегающий...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Работает на Kunena форум