Страница 386 из 421
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт мар 28, 2017 13:41:02
uk8amk
kotriks писал(а):ноги в воздухе висят.
INT0 тоже в воздухе висит?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт мар 28, 2017 15:23:37
kotriks
ARV писал(а):kotriks писал(а):ноги в воздухе висят.
а программно что с ногами? DDR в нулях или нет? Код тестовый или рабочий? Т.е. помимо усыпления что-то делается или перед усыплением делалось?
да в нулях, нечё не делает просто пытаюсь усыпить он не спит, я до этого делал вроде также на другом контроллере работало, мож проц подгоревший, потом на другом попробую щас денег нет )) INT0 тоже в воздухе висит.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт мар 28, 2017 15:30:19
ARV
Висящие ноги в режиме сна могут давать увеличение потребляемого тока. лучше всего перевести их в режим ВЫХОДОВ. Для входа INT, используемого для пробуждения, соответственно, настройку надо сделать иначе.
Если он висит в воздухе и настроен на ВХОД - он может просто не давать спать, т.к. ловит наводки и пробуждает МК.
Читайте даташит, в общем.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт мар 28, 2017 15:41:25
kotriks
пробуждение по INT0 у меня сделано так, тоесть по любому прерыванию. но пока не подавал сигнал дабы пока уснуть не могу.
регистры.
Код: Выделить всё
// External Interrupt(s) initialization
// INT0: On
EICRA=0x01;
EIMSK=0x01;
EIFR=0x01;
PCICR=0x00;
Код: Выделить всё
interrupt [EXT_INT0] void ext_int0_isr(void)
{
sleep_disable();
}
а засыпаю, это всё в void main(void)
Код: Выделить всё
SMCR |= ((1<<SE) | (0<<SM2) | (1<<SM1) | (1<<SM0));
#asm("sleep")
while (1) он пустой там нечего нет пока! как засну будет

Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт мар 28, 2017 17:47:12
ARV
Для начала приведите порты в рекомендованное мной состояние. Вход запроса прерываний тоже как-то ПРАВИЛЬНО инициализируйте - полагаю, что он должен быть входом с подтяжкой. не видя ВСЕГО кода давать советы - последнее дело, вы намеков не понимаете: КОД В СТУДИЮ.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт мар 28, 2017 18:44:46
uk8amk
kotriks писал(а):INT0 тоже в воздухе висит.
Ужас.
В таком случае предлагаю вообще отключить прерывания. Это единственная возможность понаблюдать за режимом сна.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 29, 2017 07:25:54
kotriks
uk8amk писал(а):kotriks писал(а):INT0 тоже в воздухе висит.
Ужас.
В таком случае предлагаю вообще отключить прерывания. Это единственная возможность понаблюдать за режимом сна.
да выключил регистры в ноль
Код: Выделить всё
ICRA=0x00;
EIMSK=0x00;
EIFR=0x00;
PCICR=0x00;
Сразу начал спать, но почему с включенным прерыванием не работает и не спит?
Как мне его будить если нельзя включить прерывание то

Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 29, 2017 07:35:36
ARV
kotriks писал(а):Как мне его будить если нельзя включить прерывание то
я ж вам давно написал: прочесть даташит и сделать ПРАВИЛЬНО!
висящий вход - это очень чувствительный элемент. он может срабатывать от любого пустяка! самое меньшее - его надо подтягивать встроенным резистором к питанию:
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 29, 2017 13:28:49
kotriks
Нашёл тут статейку и она мне помогла понять, что к чему, может кому пригодится.
https://sites.google.com/site/qeewiki/b ... -atmega328
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 29, 2017 18:11:26
alexandergb
Есть проблема.
Откомпилировал проект на С в среде CodeVisionAVR 3.12
Получил cof файл и загрузил его в модель Atmega16 в Proteus 7.7.
Работает вроде бы правильно, НО
когда останавливаю симулятор (пауза) и смотрю исходный код,
то вижу только файл *.С, а файлов *.h нет в выпадающем окошке Source.
Не могу перейти (F11) к функции, которая расположена в *.h.
Прошу помощи, уважаемые.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 29, 2017 18:34:03
Аlex
А он (протеус) и не показывает хидеры, только файлы с исполнительным кодом.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Ср мар 29, 2017 18:44:45
WiseLord
alexandergb писал(а):Не могу перейти (F11) к функции, которая расположена в *.h.
В *.h не должно быть фунций. Максимум - их объявления, но сам код функции должен быть только в *.c файлах
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт мар 31, 2017 20:55:17
G@ns
Здравствуйте! Подскажите как вывести в CV Avr 3.29 русскоязычные буквы? #pragma rl+ rl- не помогает
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт мар 31, 2017 21:06:17
Аlex
Куда вывести то ?

Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб апр 01, 2017 06:47:09
oleg110592
стелепатирую - на lcd типа hd44780.
Можно примерно так:
http://www.cqham.ru/forum/showthread.ph ... post179937
немножко причесать
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс апр 02, 2017 06:01:31
kotriks
Народ подскажите, после того как засыпаю
Код: Выделить всё
SMCR |= ((1<<SE) | (0<<SM2) | (1<<SM1) | (1<<SM0));
#asm("sleep");
и просыпаемся по тактированию на инт0
Код: Выделить всё
SMCR &= ~(1 << SE);
SMCR |= ((0<<SM2) | (0<<SM0) | (0<<SM0));
отваливается UART не реагирует на комманды, что можно придумать чтобы пробудить его? Может какие то регистры надо перегрузить?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт апр 20, 2017 21:30:23
mixon46
как воздействовать на порт целиком кроме одного из его битов? (одного из его выводов) наложить маску? как?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт апр 20, 2017 21:36:22
Аlex
Что значит воздействовать ?

Поподробнее можно ?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт апр 20, 2017 21:38:04
mixon46
вывожу цифру на семисигмент. задействованы 7 выводов одного порта. нужно наложить маску на младший бит что бы его значение осталось таким каким и было
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт апр 20, 2017 21:42:32
Аlex
Сброс битов - "И" ("&") с маской.
Установка - "ИЛИ" ("|") с маской.