Страница 263 из 421
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт май 30, 2013 17:37:58
hfelyx
Помогите написать программу для мелодичного"дин-дон" для звонка.Игрался с нотами мелодично не получается.
Спасибо.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт май 30, 2013 21:19:35
.Lexx.
Доброго времени сутоК!
Начал изучать avrки. спаял программатор, собрал микросхемку со светодиодами. Помигал ими и так, и сяк.
Теперь захотел я, чтобы светодиоды выводили количество нажатий клавиши пинС.0. Не получилось, хотя вроде делал всё по уму.
Решил упростить задачу: нажал клавишу -> зажглась комбинация.
проблема происходит такого типа: светодиоды при нажатии зажигаются и горят, и всё (а должны тухнуть при отпускании клавиши).
Соответственно сейчас делаю в протеусе и никакого дребезга контактов быть не может.
код такой:
Код: Выделить всё
while(1)
{
if (!PINC.0)
{
PORTD = 0b11111111;
delay_ms(50);
PORTD = 0x00;
delay_ms(50);
}
else PORTD=0b01010101;
}
в протеусе происходит следующее: пока не нажал мигают как и должны, нажимаю тухнут вообще, отпускаю мигать не продолжают.
И ещё я так понимаю цикл while(1) - это бесконечный цикл. Или нет?!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 10:14:53
Vov123
А где,где он,"секретный" проект в протеусе?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 12:00:13
.Lexx.
вот он::
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 12:04:59
Аlex
А остальное то где ? Или мы сами должны создавать проект в CV и писать программу ?

Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 12:17:10
ChipKiller
Аlex писал(а):Или мы сами должны создавать проект в CV и писать программу ?
... и еще предложить несколько рабочих вариантов с подробным описанием.
ЗЫ. ... вообще такой "подход", к сожалению, входит в норму .....
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 13:31:22
.Lexx.
Ок простите вот Вам уважаемые коты (помоему полный проект CV + Proteus).
Просто я смотрел многие другие посты и обычно выкладывают просто текст программы, но как говорится я не местный не бейте сильно))
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 13:46:20
Vov123
Это хотел получить?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 14:01:52
.Lexx.
Да это оно.
Но я немного не понимаю, почему заработало у Вас, ведь практически ничего не изменили, добавили изначальную засветку светодиодов, и условие не на (!PINC.0), а на (PINC.0).
М.б. проблема с моей CVavr?!
ведь программе должно быть пофиг на это условие??? Просто не на нажатую кнопку, а на отжатую!!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 14:08:00
.Lexx.
Хотя нет! Ведь мигать должно при нажатии клавиши, а так мигает просто с самого начала, а комбинация на порте Д срабатывает всё равно. Что ж блин не так?!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 14:09:26
Vov123
Это без разницы (!PINC.0) или (PINC.0),работать будет инверсно.
1.Кнопку подключил стандартно
2.Подключил подтягивающие резисторы в проце
3.В протеусе нужно указывать частоту проца
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 14:26:31
.Lexx.
Я ещё раз говорю, заработало, но не так как должно в "С" коде.
там по нажатии клавиши, должно начать мигать, а когда наоборот должно выдать комбинацию. в протеусе же сразу начинает мигать при отпущенной кнопке.
короче прогнал в варианте (!PINC.0) и (PINC.0) итог один, мигать начинает сразу, а при нажатии включает комбинацию.
и вопрос, то что Вы перечислили (1, 2 и 3)- это то чего у меня не хватает и Вы как-то добавили или к чему это?
Просто по поводу подтягивающих резисторов и остального, я читал что всё это ни к чему делать в протеусе, если пытаешься просто смоделировать процесс без последующей разводки платы и пайки. + указание частоты проца - это Вы про модельку atmega8, нажав по ней 2 раза можно задать её частоту, так??
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 14:34:04
Vov123
Как говорил известный персонаж - "Ну вы,блин,даёте!"
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 15:15:57
.Lexx.
Так терь заметил в чём прикол, Вы в протеусе кнопку подключили не к питанию а к земле, и всё заработало, но тогда вопрос: ведь если по схеме подключаем к земле или к питанию - это фактически ловим 0 или 1 соответственно. Почему при подключении к питанию цикл вкл/выкл кнопки работал одноразово, а при подключении к земле цикл бесконечный???
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 15:23:59
Vov123
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 15:26:43
.Lexx.
мерси)
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт май 31, 2013 15:28:47
ibiza11
.Lexx. писал(а):ведь если по схеме подключаем к земле или к питанию - это фактически ловим 0 или 1 соответственно.
да. если кнопка подключена к питанию, то при нажатии на нее сформируется лог.1 на входе. Но подумайте, что будет на входе, когда кнопку отпустите?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 04, 2013 01:47:58
libral
Вот сделал видео по codevision для новичков. Как раз последних сообщений касается.
Программа в codevision:
https://www.youtube.com/watch?v=q1yfir48aJU
Проверка ее в протеусе:
https://www.youtube.com/watch?v=QhpKSl74XSk
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт июн 06, 2013 20:55:00
hfelyx
Всем привет! Извиняюсь,за повторение вопроса в данной ветке форума(писал вопрос здесь
http://radiokot.ru/forum/viewtopic.php? ... 1#p1700101),но очень хочется разобраться.
Пишу программу гирлянды ,для ATtiny2313,в CodeVisionAVR. Есть несколько световых эффектов(управление PORTB) и кнопка PIND.0. Вопрос в том как реализовать переключение между режимами световых эффектов,нажатием этой кнопки. Что-то в этом роде:нажал-1эфект,еще раз нажал-2 эффект и т.д.,а последнее нажатие - вызывает почередное включение всех эффектов.
Программировать только учусь,поэтому прошу сильно не пинать,и буду признателен любой информации.
Спасибо!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт июн 07, 2013 13:30:53
Vov123
Нажал на кнопку - переменная увеличилась на 1,нажал другой раз - ещё на один (уже два) и т.д.
Больше определённого числа,сбрасываешь в 0.
Потом проверяешь чему равна переменная.Если 0 - одна подпрограмма,1 - другая,2 - третья и т.д.