Реэнтерабельное прерывание и мой стиль программирования

Раздел начинающих пользователей
Правила форума
В песочнице можно спрашивать когда незнаешь где спросить.
В песочнице нелзя посылать в гугл
В песочнице можно задавать любой вопрос, но на него могут и неответить.
Песочница для тех, кто начинает свои вопросы с защиты чайников от пинков.
В песочницу будут перетаскиваться вопросы неполучившие ответа.
Песочница - попытка навести порядок.
На песочницу большие надежды.

Re: Реэнтерабельное прерывание - возможно в FlowCode?

Сообщение mim (mim) » 08 май 2013, 09:20

Steve Key писал(а):1. обязательно почитаю, раз ты считаешь, что там есть полезная инфа!
2. хотел на микроамперы снизить потребление
3. потОм подискутируем

1. Я ни кого никогда не заставляю... Для тебя полезная инфа везде.
2. Повеселило.
3. Я на дисскусии время не трачу и доказывать не люблю....
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе

Re: Мой стиль программирования прерываний и дин. индикации..

Сообщение Steve Key (Steve Key) » 08 май 2013, 09:35

1. А где я сказал, что я против что-то почитать, чему-то поучиться? :)
3. Да я и не заставляю, если глянешь и наведешь конструктивную критику - буду благодарен!
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение Steve Key (Steve Key) » 20 май 2013, 19:00

С реэнтерабельностью прерывания пока чего-то не получается, надо получившийся .asm-файл в mplabe (или как там его?) проработать, куда-то не туда уходит...

А насчет ПРАВИЛЬНОГО опроса клавиатуры, динамической индикации и прочих прерываний - сейчас делаю "учебную" программу "в моём стиле" с четко оформленным алгоритмом и множественными комментариями.
Надеюсь, что на этой неделе проверю в железе и выложу сюда. :)
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение Вячеслав (Вячеслав) » 21 май 2013, 04:59

Steve Key писал(а):Надеюсь, что на этой неделе проверю в железе и выложу сюда.

Работающую схему в Proteus-e, пожалуйста. Железо дорого теперь. Ждем-с.
Аватар пользователя
Ник: Вячеслав
Имя: Вячеслав
(Саратов)
Разработчик
Разработчик
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение carworker (carworker) » 22 май 2013, 09:09

А я после того как перепробовал множество вариантов пришел к выводу что на опрос кнопок надо ставить отдельный "шустрый"контроллер с минимально короткой программой. Конечно если это не детская игрушка а критическое устройство где от нажатия на кнопку зависит многое и сама кнопка по возможности должна быть сенсорной. Индикация отдельно, прием данных отдельно, отправка данных или команд на исполнительные устройства отдельно. Ничто ни чему не мешает. И программы получаются простыми и короткими.
Ник: carworker
Имя: carworker
(Одесса)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение Вячеслав (Вячеслав) » 22 май 2013, 14:12

carworker писал(а):на опрос кнопок надо ставить отдельный "шустрый"контроллер с минимально короткой программой.

На "старом" форуме есть ТОПИК:"Опрос кнопок". Опрос кнопок выполняется "на пролете" в основном цикле программы. Глянь, на случай.
carworker писал(а): Индикация отдельно, прием данных отдельно, отправка данных или команд на исполнительные устройства отдельно. Ничто ни чему не мешает.

Не слишком ли много контроллеров? :) . Синхронизация работы нескольких электронных узлов с различным быстродействием одной программой - не простая задача. "Всё отдельно" - такого простого совета я бы не дал. Сам не силен в этом. Стараюсь каждый фрагмент программы управления периферией измерить во времени, затем смотришь - что с чем можно совместить во временной цепочке выполнения всего процесса. Скажем, пока заполняется TMR2, можно успеть что то вычислить в макросе "вычисления" и т.п. Есть прерывания, опрос - это всё элементы синхронизации процесса управления. Практика использования такого совмещения нужна. В чужих программах поройся в этом плане. Думаю, так.
Аватар пользователя
Ник: Вячеслав
Имя: Вячеслав
(Саратов)
Разработчик
Разработчик
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение mim (mim) » 22 май 2013, 17:29

carworker писал(а):А я после того как перепробовал множество .... и по возможности...


«Между нами говоря, почему люди не думают? Вас это не бесит? Почему им просто не подумать?»
Сериал "Шерлок (Sherlock)"
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение Steve Key (Steve Key) » 23 май 2013, 08:21

carworker писал(а): Индикация отдельно, прием данных отдельно, отправка данных или команд на исполнительные устройства отдельно. Ничто ни чему не мешает.

В "больших" системах такой подход, безусловно, оправдан. 8-)
Но у нас, как правило, контроллер "молотит" вхолостую, ожидая какого-либо события (прерывания или нажатия кнопки), IMHO, следует загрузить его "по полной". :idea:

Вячеслав писал(а):схему в Proteus-e, пожалуйста. Железо дорого теперь.

Кстати, да, как я забыл о протеусе... :oops:
С тех пор, как купил "он-лайн" программатор и макетки, а также получил доступ к радиодеталям на работе (работаю сейчас практически "электронщиком") - мне никакой проблемы не составляет смакетировать "в железе"... :D

Вячеслав писал(а):Опрос кнопок выполняется "на пролете" в основном цикле программы. Глянь, на случай.

Вот, кстати: в этом алгоритме просто разделяются на разные "проходы" действия "отпускания" и "нажатия" кнопок, и это работает - но, только пока "главный цикл" не обрабатывается достаточно быстро, чтобы зафиксировать ("увидеть") процесс дребезга...

Вячеслав писал(а):Не слишком ли много контроллеров? :) . Синхронизация работы нескольких электронных узлов с различным быстродействием одной программой - не простая задача.

Это да, отдельный (сложный!) вопрос!

mim писал(а):почему люди не думают?

Потому что - проще прикинуться "дурачком", меньше спрос...
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение Steve Key (Steve Key) » 23 май 2013, 08:43

Выкладываю полный (надеюсь) комплект: схема, файл FlowCode, hex и файл Proteus'а. :)
У вас нет доступа для просмотра вложений в этом сообщении.
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Реэнтерабельное прерывание и мой стиль программирования

Сообщение mim (mim) » 23 май 2013, 08:45

Steve Key писал(а): но, только пока "главный цикл" не обрабатывается достаточно быстро, чтобы зафиксировать ("увидеть") процесс дребезга...

Не нужно путать эффект Дребезга со скоростью опроса кнопки. Вот тебе модель кнопки с дребезгом (фрагменты схемы из неоконченной статьи... рук мало...). Проведи опыты, и посмотри как влияет дребезг, и влияет ли он, и когда...
У вас нет доступа для просмотра вложений в этом сообщении.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Пред.След.

Вернуться в ПЕСОЧНИЦА

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей