Форум

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

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

В сети

Пользователей: 208
Из них просматривают:
Аналоги: 87. Даташиты: 49. Инструкции: 1. Новости: 33. Остальное: 12. Производители: 1. Профиль пользователя: 2. Форум: 23.
Участников: 2
Гостей: 206

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

Партнёры


Партнёры

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

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

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

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



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



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

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

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



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



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

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


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


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


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



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



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



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



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



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


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

Разное

Интересно

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