Форум

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

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

В сети

Пользователей: 167
Из них просматривают:
Аналоги: 90. Даташиты: 34. Инструкции: 3. Новости: 9. Партнёры: 1. Производители: 1. Профиль пользователя: 13. Расчёты: 1. Теги: 1. Форум: 13. Чат: 1.
Участников: 3
Гостей: 164

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

Партнёры


Партнёры

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

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

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

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



Re: Помогите разобраться с CodeVisionAVR
Администратор
Зарегистрирован:
07.08.2008 20:40
Из: Тирасполь
Сообщений: 7277
Не в сети
Мне почему то кажется, что тебя не 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; Просмотры: 350


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


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



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;



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


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

Разное

Интересно

Для выпаивания микросхем в DIP корпусе пользуюсь проверенной технологией . Которая дает неплохие результаты , сохраняя при этом как микросхему так и дорожки печатной платы .