CodeVision AVR в вопросах и ответах
Re: CodeVision AVR в вопросах и ответах
Ссылки пожалуйста, я её оставил.
Просто широкие изображения растягивают форум, из-за этого страдает вся страница. Не у всех мониторы 100500 точек в ширину.
Просто широкие изображения растягивают форум, из-за этого страдает вся страница. Не у всех мониторы 100500 точек в ширину.
- Valek3306
- Встал на лапы
- Сообщения: 95
- Зарегистрирован: Вт авг 03, 2010 22:51:57
- Откуда: Санкт-Петербург
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
vitalik_1984, нужно это для следующего: мерцает сердечко из светодиодов по одной программа, нажимаю я кнопку и она мерцает по второй программе, нажимаю кнопку еще раз и мерцает по третий программе и т. д.
Маленький хакер в подстанцию влез
Перенаправил поток он с АЭС
Клевая мощность два мегаватта,
Быстро горит материнская плата!
Перенаправил поток он с АЭС
Клевая мощность два мегаватта,
Быстро горит материнская плата!
Re: CodeVision AVR в вопросах и ответах
При каждом нажатии на кнопку увеличиваете (или или уменьшаете) какую-нибудь 8-бит переменную. Далее анализируете остаток от деления на число ваших программ. Пишете нужное вам количество алгоритмов "мерцания" и оформляете их в виде функций. Далее переключателем переходите к выполнению той функции, которой соответствует текущее состояние анализируемого остатка.Valek3306 писал(а):vitalik_1984, нужно это для следующего: мерцает сердечко из светодиодов по одной программа, нажимаю я кнопку и она мерцает по второй программе, нажимаю кнопку еще раз и мерцает по третий программе и т. д.
Код: Выделить всё
void main( void ){
char cycle;
for( ;; ){
//
// Здесь анализ нажатия/отпускания кнопки.
//
switch( cycle++ % 2){
case 0: Progr_1(); break;
case 1: Progr_2(); break;
case 2: Progr_3(); break;
default: ;
}
}
}
// Ваши алгоритмические функции....
void Progr_1( void ){
// ......
}
void Progr_2( void ){
// ......
}
void Progr_3( void ){
// ......
}
Вместо анализа остатка от деления можно применить простое изменение переменной на +- единицу с контролем на нахождение в границах количества функций.
Код: Выделить всё
if( ++cycle > 2) cycle = 0;
Код: Выделить всё
switch( cycle ){
С уважением,
Виктор.
Виктор.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
ut1wpr писал(а): Иногда это бывает единственный способ выхода из бесконечного цикла по выполнению некоего условия.
А как же break?
Код: Выделить всё
for (;;){
if ((i++)>90)break;
} И тем более вопрос был про прерывание.При завершении прерывания остановить код который выполнялся и начать его с начала.
В поисках истины человек развивается.
Re: CodeVision AVR в вопросах и ответах
Не хочу спорить, тем более, что спор на пустом месте. Вы прекрасно знаете, что break выведет из цикла в следующий за циклом оператор. Совсем недавно у меня возникла необходимость выходить в точку, которая отличается от точки выхода по break. Я и вышел. Именно по goto. И никто меня не расстрелял...vitalik_1984 писал(а):ut1wpr писал(а): Иногда это бывает единственный способ выхода из бесконечного цикла по выполнению некоего условия.
А как же break?Код: Выделить всё
for (;;){
if ((i++)>90)break;
}
И тем более вопрос был про прерывание.При завершении прерывания остановить код который выполнялся и начать его с начала.
Вопросов прерывания и повторных выполнений "кода с его начала" я не касался. Я лишь прокомментировал ваше крайне негативное отношение к goto.
Думайте и пишите структурировано, и тема "надо ли гоутутать?" просто не будет возникать. Или будет, но очень редко.
Все. Думаю, здесь можно поставить точку. Вопрос о goto в Си неоднократно обсуждался, пустое это...
С уважением,
Виктор.
Виктор.
Re: CodeVision AVR в вопросах и ответах
А зачем с начала? Судя по дальнейшим пояснениям, вам необходимо переходить между алгоритмами мерцания, в зависимости от нажатой кнопки. Если кнопки "висят" на прерывании, то идентифицируйте их там и ставьте флаги, которые в основной программе анализируются с переходом к соответствующей функции.Valek3306 писал(а):Как по завершению прерывания начать выполнять бесконечный цикл с начала, а не с того места на котором остановился уходя на прерывание?
Re: CodeVision AVR в вопросах и ответах
мне нужно выставить фьюзы для атмега8 при тактировании от внешнего кварца на 4МГЦ..............,
нашол вот такую табличкув даташите и выставил.............., правильно ли я сие сделал ? не хочется запороть МК


нашол вот такую табличкув даташите и выставил.............., правильно ли я сие сделал ? не хочется запороть МК


Tell Me The Truth
- Volgol_555
- Потрогал лапой паяльник
- Сообщения: 301
- Зарегистрирован: Пт сен 23, 2011 13:13:51
- Откуда: Минск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Если фьюзы нужно было выставить на внешний кварц, то: Да правильно выставил:)
Самое гениальное - всегда самое простое
Re: CodeVision AVR в вопросах и ответах
Да.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- Andrey73s
- Вымогатель припоя
- Сообщения: 691
- Зарегистрирован: Ср фев 24, 2010 23:33:28
- Откуда: Тверская обл.
Re: CodeVision AVR в вопросах и ответах
Всем привет.
Собрал программатор AVR910(сом3).
Установил CodeVisionAVR C Compiler(1.25.9), крякнул его и русифицировал.
Скачал прошивку для Atmega8 и фьюзы. И смотрю как баран на новые ворота.
Как прошить его? Где почитать? Без всяких мудростей.
Собрал программатор AVR910(сом3).
Установил CodeVisionAVR C Compiler(1.25.9), крякнул его и русифицировал.
Скачал прошивку для Atmega8 и фьюзы. И смотрю как баран на новые ворота.
Как прошить его? Где почитать? Без всяких мудростей.
Какая *** выключила свет в конце туннеля.
- Volgol_555
- Потрогал лапой паяльник
- Сообщения: 301
- Зарегистрирован: Пт сен 23, 2011 13:13:51
- Откуда: Минск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Почитай здесь http://tigerail.narod.ru/AVRM.html
Самое гениальное - всегда самое простое
- Andrey73s
- Вымогатель припоя
- Сообщения: 691
- Зарегистрирован: Ср фев 24, 2010 23:33:28
- Откуда: Тверская обл.
Re: CodeVision AVR в вопросах и ответах
Большое спасибо.
А если файл имеет расширение hex?
А если файл имеет расширение hex?
Какая *** выключила свет в конце туннеля.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Это нормальное расширение прошивки.Шейте и все программа сама определит что с ним делать.
В поисках истины человек развивается.
- Andrey73s
- Вымогатель припоя
- Сообщения: 691
- Зарегистрирован: Ср фев 24, 2010 23:33:28
- Откуда: Тверская обл.
Re: CodeVision AVR в вопросах и ответах
Да, но слово 1error(s) меня пугает.
- Вложения
-
- 22,04,12(21-39-01).jpg
- (35.53 КБ) 331 скачивание
Какая *** выключила свет в конце туннеля.
Re: CodeVision AVR в вопросах и ответах
Andrey73s писал(а):Да, но слово 1error(s) меня пугает.
Так на сриншоте результат компиляции. Тебе же надо прошить мк, если я правльно понял?
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
помогите плиз, делаю часы на атмега8, кварц 4МГц, какой таймер и как сконфигурировать чтобы прерывание происходило раз в 1с ?
Tell Me The Truth
- Andrey73s
- Вымогатель припоя
- Сообщения: 691
- Зарегистрирован: Ср фев 24, 2010 23:33:28
- Откуда: Тверская обл.
Re: CodeVision AVR в вопросах и ответах
Andrey73s писал(а):Тебе же надо прошить мк, если я правльно понял?
Да это точно.
Делаю что-то неправильно, а что???
По ссылки Volgol_555 (http://tigerail.narod.ru/AVRM.html)на пункте (пишем здесь свою программку или же вставляем готовый код (удаляя болванку)) завис. Открыл файл и указал на прошивку, он отобразил по моему разумению 16-битный код. А при компиляции пишет ошибка.
Файл прошивки и то, что вставляю, прилагаются.
Заранее прошу сильно не пинать, CodeVisionAVR C Compiler вижу первый раз и программирую тоже впервые, так сказать учусь.
- Вложения
-
- Text file.txt
- (12.09 КБ) 552 скачивания
-
- av18b20_3.hex
- (12.09 КБ) 404 скачивания
Какая *** выключила свет в конце туннеля.
- Andrey73s
- Вымогатель припоя
- Сообщения: 691
- Зарегистрирован: Ср фев 24, 2010 23:33:28
- Откуда: Тверская обл.
Re: CodeVision AVR в вопросах и ответах
Ещё несколько скринов по портам программатор определился на com3 в программе тоже на него, а Terminal Settings com4 так и должно быть?
- Вложения
-
- 23,04,12(08-16-48).jpg
- (14.38 КБ) 487 скачиваний
-
- 23,04,12(08-16-33).jpg
- (27.19 КБ) 451 скачивание
-
- 23,04,12(08-15-50).jpg
- (44.08 КБ) 335 скачиваний
Какая *** выключила свет в конце туннеля.