Форум

Радиолюбительский форум.

Если у Вас возникли вопросы, задавайте их на форуме.

В сети

Пользователей: 168
Из них просматривают:
Аналоги: 73. Галерея: 1. Даташиты: 55. Инструкции: 1. Новости: 5. Остальное: 6. Программы: 2. Профиль пользователя: 15. Форум: 10.
Участников: 2
Гостей: 166

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.

Просмотр этой темы: 

 1 анонимных пользователей
Помогите разобраться с CodeVisionAVR
Сотрудник
Зарегистрирован:
01.05.2019 17:27
Из: Слободзея
Сообщений: 38
Не в сети
Добрый день . Я написал программу для Attiny13 в CodeVisionAVR но она не совсем устраивает по этому прошу помощи у знающих людей . Нужно что бы при последующем нажатии на кнопку программа возвращалась в начало цикла .



Re: Помогите разобраться с CodeVisionAVR
Администратор
Зарегистрирован:
07.08.2008 20:40
Из: Тирасполь
Сообщений: 7287
Не в сети
Мне почему то кажется, что тебя не CodeVisionAVR не устраивает, а написанный тобою код (который ты называешь программой)



Re: Помогите разобраться с CodeVisionAVR
Главный Технолог
Зарегистрирован:
14.04.2009 7:05
Из: Россия
Сообщений: 271
Не в сети
Цитата:

Vic29 пишет:
Нужно что бы при последующем нажатии на кнопку программа возвращалась в начало цикла .

Кнопка только одно действие выполняет или у неё ещё и другие функции имеются?



Re: Помогите разобраться с CodeVisionAVR
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3926
Не в сети
А почему не в Битву экстрасенсов написали? Там весьма знающие люди. Они по обрывкам фотографии находят людей.



Re: Помогите разобраться с CodeVisionAVR
Сотрудник
Зарегистрирован:
01.05.2019 17:27
Из: Слободзея
Сообщений: 38
Не в сети
Именно это я и имел в виду что меня не до конца устраивает код который я написал и называю это программой. Что касается битвы экстрасенсов не совсем понял . Может чувство юмора меня подводит. Кнопка выполняет одну функцию . По сути это сигнализатор поклёвки и вместо кнопки должен быть датчик вибрации SW18010P

Прикреплённый файл:


zip Схема и Файл С.zip Размер: 178.80 KB; Просмотры: 372


Отредактировано пользователем Vic29 01.05.2019 20:31:35


Re: Помогите разобраться с CodeVisionAVR
Технический Директор
Зарегистрирован:
08.02.2009 21:08
Из: Днестровск
Сообщений: 2543
Не в сети
Сперва схему и код в студию, что было всем понятно, а то первое сообщение звучит в духе: "Я сделал чесалку для спины, но она меня не устраивает, нужно что бы при последующем чесании чесалка возвращалась в начало цикла. Чесалка выполняет одну функцию. По сути это палка и вместо чесалки должен быть скребок с зубчиками."))



Re: Помогите разобраться с CodeVisionAVR
Сотрудник
Зарегистрирован:
01.05.2019 17:27
Из: Слободзея
Сообщений: 38
Не в сети
Вот только сообразил как загрузить код и схему ) Прошу сильно не пинать.



Re: Помогите разобраться с CodeVisionAVR
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3926
Не в сети
Что именно не устраивает в программе? Программа реализует следующее: если нажалась кнопка, будет запущен процесс перемигивания светодиодов. Пока этот процесс не закончился, на кнопку внимание не обращается. По окончании процесса перемигивания опять ждем нажатия кнопки.



Re: Помогите разобраться с CodeVisionAVR
Сотрудник
Зарегистрирован:
01.05.2019 17:27
Из: Слободзея
Сообщений: 38
Не в сети
Именно так . Как я говорил это сигнализатор поклёвки и получается что когда происходит поклёвка начинается цикл и если во время работы цикла произойдёт ещё одна поклёвка то останется незамеченной. Вот и хочется что бы при следующем смыкание контактов датчика вибрации цикл прервался и начался с начала. А как это реализовать не понимаю .



Re: Помогите разобраться с CodeVisionAVR
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3926
Не в сети
Теперь понятно. Необходимо использовать прерывание по заднему фронту на INT0. Необходимо завести глобальную переменную с модификатором volatile unsigned char flag=0;. В прерывании выставлять переменную в 1 вот так flag=1;. В основном цикле запускать перемигивание при этой переменной в 1. Причем сразу же обнулять эту переменную if (flag==1) {flag=0; перемигивание.......}
. А в процедуре перемигивания вставить кучу раз после каждого долгого события вот такую конструкцию
if (flag==1) continue;



Поиск по форуму


Расширенный поиск

Разное

Интересно

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