Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Таймеры и прерывания-что и как? |
Цитата |
|
Нашел наконец причину чрезмерного потр. тока при переходе к сну - почемуто с сбоями осуществлялся переход от вектора условного перехода с именем к метке которой дал такоеже имя. Нарисовал напрямую к метке вектор и все наладилось. Имя короткое чтоли дал метке .. из двух буков ? Но вот причину ухода в спячку незапланированную после обработки прерывания таймера так и не понял , ну и ладно , это даже на руку .
Нашел наконец причину чрезмерного потр. тока при переходе к сну - почемуто с сбоями осуществлялся переход от вектора условного перехода с именем к метке которой дал такоеже имя. Нарисовал напрямую к метке вектор и все наладилось. Имя короткое чтоли дал метке .. из двух буков ? Но вот причину ухода в спячку незапланированную после обработки прерывания таймера так и не понял , ну и ладно , это даже на руку .
|
|
|
 |
Добавлено: 19 июл 2013, 22:47 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Таймеры и прерывания-что и как? |
Цитата |
|
Здравствуйте , - построил метеостанцию на Атмеге 328Р (замер темп.от 2х датчиков .., влажности , и включил в программу еще и таймер до 99 минут , также замер напр. питания (питание от батарееек) . Включил режим отключения (sleep) по EXT int , все получилось нормально в режиме работы прибора как метеостанция работает отлично и переходит в спячку как запрограмировано и выходит как нужно но с одной проблемой возникающей редко и непонятно откуда - при переходе в спячку все отключается как положено но иногда потребляемый ток резко увеличивается до 130 мА !. Также и с таймером (на Таймере 0) но тут еще одно - после выхода из обработки прерывания проц вдруг засыпает ... вобщемто мне этого и нужно было но опятьже иногда наблюдаю повышение тока в спящем режиме. Пробывал перед входом в спячку отключать все настройщики , все ноги переводить в безопасное состояние - бесполезно . Что делать ? Вот такая вот схема "сна" ... обработка прерывания таймера 0 в моей программе путана и массивна , поэтому нопов наставил чтоб не путать Вас.
Вложения: |

екст.JPG [ 18.92 КБ | Просмотров: 9089 ]
|
Здравствуйте , - построил метеостанцию на Атмеге 328Р (замер темп.от 2х датчиков .., влажности , и включил в программу еще и таймер до 99 минут , также замер напр. питания (питание от батарееек) . Включил режим отключения (sleep) по EXT int , все получилось нормально в режиме работы прибора как метеостанция работает отлично и переходит в спячку как запрограмировано и выходит как нужно но с одной проблемой возникающей редко и непонятно откуда - при переходе в спячку все отключается как положено но иногда потребляемый ток резко увеличивается до 130 мА !. Также и с таймером (на Таймере 0) но тут еще одно - после выхода из обработки прерывания проц вдруг засыпает ... вобщемто мне этого и нужно было но опятьже иногда наблюдаю повышение тока в спящем режиме. Пробывал перед входом в спячку отключать все настройщики , все ноги переводить в безопасное состояние - бесполезно . Что делать ? Вот такая вот схема "сна" ... обработка прерывания таймера 0 в моей программе путана и массивна , поэтому нопов наставил чтоб не путать Вас.
|
|
|
 |
Добавлено: 18 июл 2013, 19:50 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Таймеры и прерывания-что и как? |
Цитата |
|
[quote="als9"]Пин код маски в Ext Int по какому принципу выбирается и зачем ? Где можно почитать ?[/quote] В даташите на МК. Почитай: [url]http://yadi.sk/d/WDBZz8aQ6tO1i[/url]; [url]http://www.gaw.ru/html.cgi/txt/doc/micros/avr/arh128/index.htm[/url]; [url]http://proavr.narod.ru/01.htm[/url] Или погуглить…
|
|
|
 |
Добавлено: 15 июл 2013, 22:35 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Таймеры и прерывания-что и как? |
Цитата |
|
Пин код маски в Ext Int по какому принципу выбирается и зачем ? Где можно почитать ?
Пин код маски в Ext Int по какому принципу выбирается и зачем ? Где можно почитать ?
|
|
|
 |
Добавлено: 15 июл 2013, 22:26 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Таймеры и прерывания-что и как? |
Цитата |
|
[quote="SVN"]Только сейчас посмотрел схему. :-) Так конечно работать не будет. Вы похоже даташит не смотрели. :D INT0 это нога 6, порт РВ1, а не РВ4. ;)[/quote] Спасибо. Изменил схему, подправил программу и все заработало как задумывалось. Пришлось еще поставить подтягивающий к VCC резистор 10к на PB1, иначе помехи.
|
|
|
 |
Добавлено: 28 апр 2013, 06:47 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Таймеры и прерывания-что и как? |
Цитата |
|
Только сейчас посмотрел схему.  Так конечно работать не будет. Вы похоже даташит не смотрели.  INT0 это нога 6, порт РВ1, а не РВ4. 
Только сейчас посмотрел схему. :-) Так конечно работать не будет. Вы похоже даташит не смотрели. :D INT0 это нога 6, порт РВ1, а не РВ4. ;)
|
|
|
 |
Добавлено: 27 апр 2013, 21:47 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Таймеры и прерывания-что и как? |
Цитата |
|
внешний сброс, сброс сторожевым таймером, прерывание TWI или изменение уровня на INT0 или INT1 может разбудить микроконтроллер. Это понятно чем можно его разбудить, у меня такое подозрение что прерывания обрабатываю неправильно. Первый раз пишу програмку  . Подаю низкий уровень кнопкой на PinB.4 а он не реагирует. Может в схеме косяк?
[b]внешний сброс, сброс сторожевым таймером, прерывание TWI или изменение уровня на INT0 или INT1 может разбудить микроконтроллер.[/b] Это понятно чем можно его разбудить, у меня такое подозрение что прерывания обрабатываю неправильно. Первый раз пишу програмку :( . Подаю низкий уровень кнопкой на PinB.4 а он не реагирует. Может в схеме косяк?
|
|
|
 |
Добавлено: 27 апр 2013, 19:23 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Таймеры и прерывания-что и как? |
Цитата |
|
Так там всё описано, как разбудить МК в данном конкретном спящем режиме.
Так там всё описано, как разбудить МК в данном конкретном спящем режиме.
|
|
|
 |
Добавлено: 27 апр 2013, 19:00 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Таймеры и прерывания-что и как? |
Цитата |
|
Спасибо за ссылку. Дело в том что в спячку он впадае исправно, я немогу разбудить его по Ext Int. Поэтому и просил помощи по внешним прерываниям. В настройщике регистров управления включено INT0, пин код маски PCINT4, и контроль по низкому уровню.
Спасибо за ссылку. Дело в том что в спячку он впадае исправно, я немогу разбудить его по Ext Int. Поэтому и просил помощи по внешним прерываниям. В настройщике регистров управления включено INT0, пин код маски PCINT4, и контроль по низкому уровню.
|
|
|
 |
Добавлено: 27 апр 2013, 18:43 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Таймеры и прерывания-что и как? |
Цитата |
|
[url=http://samou4ka.net/page/spjashhij-rezhim-mikrokontrollerov-avr]Спящий режим микроконтроллеров AVR[/url]
|
|
|
 |
Добавлено: 27 апр 2013, 16:59 |
|
|
 |