Как объединить две программы в одну

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

Как объединить две программы в одну

Сообщение uuu000 (uuu000) » 01 дек 2017, 17:41

Как объединить две программы в одну?Например , зажигание лед кнопкой и регулируемый кнопками генератор.
Ник: uuu000
Имя: uuu000
Новичок
Новичок
Информация о пользователе

Re: Как объединить две программы в одну

Сообщение Прохожий (Прохожий) » 02 дек 2017, 09:44

Привет! Правильно, что с Горизонта сюда пришёл :) По вопросу. Всё, что и как не делай в контроллере, в любом случае, сделается последовательно :) Если хочешь в чём то приоритет, делай на прерываниях (например, кнопку можно сделать в основном цикле, а можно на прерывании, тогда нажав кнопку на прерывании будет использоваться алгоритм который к ней привязан). Но в момент обработки этого алгоритма всё остальное будет стоять :) Поэтому разработчики, в отличие от любителей, во всю пользуются периферийными микросхемами. Например драйвер 7-ми сегментного индикатора MAX7219 (7221). данные в него закинул и не паришься, что контроллер на каких либо приоритетных задачах может "притормозить". То же самое с часами точного времени. Взял микросхему и дёргаешь из неё готовые данные, что бы обработать и на дисплей засандалить, контроллер резетнётся, а никто и не заметит :)на одном контроллере всё равно точные часы не сделать :)Или генерирование сигналов, то-же самое...да и в общем много чего такого :)
Очень рекомендую видео-курсы:
https://www.youtube.com/channel/UC2Oa6O ... Qqq88xDmeQ
https://www.youtube.com/watch?v=jqBGJPGA8lo

Этот видеоканал тоже бы посмотреть не помешало, для общего представления:
https://www.youtube.com/watch?v=AcxN13_ ... 0d5BOtF_HU
Последний раз редактировалось Прохожий 02 дек 2017, 09:57, всего редактировалось 5 раз(а).
Ник: Прохожий
Имя: Прохожий
Практикант
Практикант
Информация о пользователе

Re: Как объединить две программы в одну

Сообщение Yushik (Андрей) » 02 дек 2017, 09:47

Выложите ваши две программы в файлах ФК и протеуса. Там дальше разберёмся чем вам помочь.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Консультант
Консультант
Информация о пользователе
Вернуться наверх

Re: Как объединить две программы в одну

Сообщение uuu000 (uuu000) » 02 дек 2017, 17:14

Спасибо.
Ник: uuu000
Имя: uuu000
Новичок
Новичок
Информация о пользователе
Вернуться наверх

Re: Как объединить две программы в одну

Сообщение uuu000 (uuu000) » 23 дек 2017, 19:47

1 attiny2313 .fcf_avr
2generator attiny 2313.fcf_avr
Собрал программу для переключения кнопкой двух leds и второй кнопкой трех leds.Требуется добавить в эту диаграмму генератор (хотя бы без регулировки частоты)-это второй файл.Пробовал сделать макрос генератора,получилось,
но не знаю куда его можно вставить в диаграмму и как обеспечить независимую работу программы и макроса.К сожалению,я только начал изучать Flowcode и еще плаваю во многих понятиях.Обе программы в Proteus работают.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: uuu000
Имя: uuu000
Новичок
Новичок
Информация о пользователе
Вернуться наверх

Re: Как объединить две программы в одну

Сообщение Yushik (Андрей) » 24 дек 2017, 08:34

В вашем случае подставить вывод на D3 можно без проблем но паузы для получения меандра подставлять уже нельзя (т. к. они испортят всё остальное в программе). Поэтому как один из способов можно сделать на инкрементном счетчике, всю настройку вывода импульсов на D3 придётся настраивать с помощью осциллографа. Следует помнить что данный способ зависим от других процедур в программе и тактовой частоты. Ещё один из способов задействовать аппаратный PWM (у attiny2313 их 4) но тогда для получения меандра 1 гц. тактовую частоту придётся понизить очень сильно (меньше 1 мгц.) и PWM выводится на другие ноги МК.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Консультант
Консультант
Информация о пользователе
Вернуться наверх

Re: Как объединить две программы в одну

Сообщение Yushik (Андрей) » 24 дек 2017, 13:31

Третий вариант я думаю получиться, использовать прерывание по TMR1 (он помедленнее чем TMR0). Сделать прерывание с частотой 2 гц., дальше в обработчике прерывания изменять значение переменной с тип Bool c 0 на 1. затем тамже в обработчике по условию этой переменной выводить 0 или 1 на D3, тогда получиться меандр с частотой 1 гц. Плюс в том что от других процедур в программе зависимости не будет, единственное возможно придётся подобрать кварц на какую нибудь некратную частоту. Инфы по прерываниям на этом форуме как морковки на грядке.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Консультант
Консультант
Информация о пользователе
Вернуться наверх

Re: Как объединить две программы в одну

Сообщение uuu000 (uuu000) » 24 дек 2017, 14:11

Спасибо.Буду пробовать.
:)
Ник: uuu000
Имя: uuu000
Новичок
Новичок
Информация о пользователе
Вернуться наверх


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

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

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