-
- Дык наверное, разрешаем прерывание при нулевом уровне туда прыгаем
тут-же, там его запрещаем выходим из него и успешно засыпаем
намертво. - Cyclone(26.11.2020 09:45)
- Думаю что дело было так: Tpoeшник(900 знак., 26.11.2020 10:47)
- Раньше выход из спячки встречал только по перепаду. Безотносительно
AVR. IMNHO, RTFM - Vit(25.11.2020 23:03)
- Посмотрел мегу8. Ну вот там из из power-down только уровнем (и
только им). Это вы наверное оочень давно вспомнили. - Tpoeшник(25.11.2020 23:27)
- полагаю, что так они багофичу преподнесли. если нет тактовой на
регистрах пинов и чтобы проснуться при этом, то нужен перепад.
других вариантов нет от слова совсем. просто есть вероятность, что для проклокивания (синхронизации)
нужно подождать, пока говнище раздуплится и далее обработает сие
явление. а назвать могут удивительно - Vit(26.11.2020 00:04)
- получается что они дальше ваших багофич пошли и сделали еще и
просыпон по любому грубо говоря пину да еще и по переходу с уровня. - Tpoeшник(26.11.2020 00:16)
- Не моих, а их. Они решили, что бумага стерпит всякую хню. На
аппаратном уровне должны быть или поллинг пина при заклокированных
регистрах, или триггер по перепаду - что-то из этого должно родить
запрос ("событие") для побудки. PowerDown обычно (без всяких
гондурасских штучек) предполагает отключение клокирования ядра,
периферии, и большинства генераторов. Что где кто не так назвал -
мне разбираться неинтересно. - Vit(26.11.2020 00:28)
- В PowerDown и без собаки по идее вообще ничего не тактируется. Я
ниже писал как могли сделать, но я соглашусь: это не так интересно.
Но получается что для троешников и мне подобных удобно. Спасибо! - Tpoeшник(26.11.2020 00:43)
- Ну что за хня? Ты лентяй. Пишу же RTFM. Сам таки скачал и открыл -
написано прямым текстом, что БАГОФИЧА - предусмотрительно забыли
триггерок, но обозвали таки прерыванием по уровню, но с нюансом Vit(1201 знак., 26.11.2020 02:03, ссылка, ссылка)
- Бррр. Ничего не понял. Не тратьте время. Я просто возразил на то
что из этих режимов сна даже во времена меги 8 выводили уровнем
(может это только название, но тем не менее). В современных процах
есть еще возможность и переходами на пинах разбудить проц. - Tpoeшник(26.11.2020 02:47)
- Возражение не принимается - обзывать "triggered level" могли,
"level" не могли. Об этом и спич. А ещё, если уже собрался сон
применять, рекомендую ознакомиться с - Vit(26.11.2020 06:30, ссылка)
- Спасибо, почитаю. - Tpoeшник(26.11.2020 09:43)
- Возражение не принимается - обзывать "triggered level" могли,
"level" не могли. Об этом и спич. А ещё, если уже собрался сон
применять, рекомендую ознакомиться с - Vit(26.11.2020 06:30, ссылка)
- Бррр. Ничего не понял. Не тратьте время. Я просто возразил на то
что из этих режимов сна даже во времена меги 8 выводили уровнем
(может это только название, но тем не менее). В современных процах
есть еще возможность и переходами на пинах разбудить проц. - Tpoeшник(26.11.2020 02:47)
- Ну что за хня? Ты лентяй. Пишу же RTFM. Сам таки скачал и открыл -
написано прямым текстом, что БАГОФИЧА - предусмотрительно забыли
триггерок, но обозвали таки прерыванием по уровню, но с нюансом Vit(1201 знак., 26.11.2020 02:03, ссылка, ссылка)
- В PowerDown и без собаки по идее вообще ничего не тактируется. Я
ниже писал как могли сделать, но я соглашусь: это не так интересно.
Но получается что для троешников и мне подобных удобно. Спасибо! - Tpoeшник(26.11.2020 00:43)
- Не моих, а их. Они решили, что бумага стерпит всякую хню. На
аппаратном уровне должны быть или поллинг пина при заклокированных
регистрах, или триггер по перепаду - что-то из этого должно родить
запрос ("событие") для побудки. PowerDown обычно (без всяких
гондурасских штучек) предполагает отключение клокирования ядра,
периферии, и большинства генераторов. Что где кто не так назвал -
мне разбираться неинтересно. - Vit(26.11.2020 00:28)
- получается что они дальше ваших багофич пошли и сделали еще и
просыпон по любому грубо говоря пину да еще и по переходу с уровня. - Tpoeшник(26.11.2020 00:16)
- у m8 100% только уровнем и только по двум внешним интам (других там какбе и нету).... хорошо что сделали, по изменению уровня, я с m8 мигрировал на m88pa но плата была одна и таже, так что не коснулось - Aleksey_75(25.11.2020 23:39)
- полагаю, что так они багофичу преподнесли. если нет тактовой на
регистрах пинов и чтобы проснуться при этом, то нужен перепад.
других вариантов нет от слова совсем. просто есть вероятность, что для проклокивания (синхронизации)
нужно подождать, пока говнище раздуплится и далее обработает сие
явление. а назвать могут удивительно - Vit(26.11.2020 00:04)
- Посмотрел мегу8. Ну вот там из из power-down только уровнем (и
только им). Это вы наверное оочень давно вспомнили. - Tpoeшник(25.11.2020 23:27)
- Спрашиваю чиста для повышения образованности: а зачем его
укладывать, если ему судьба тут-же проснуться? - mse homjak(25.11.2020 20:01)
- И перед каждой командой sleep проверять, "а вдруг?!" - Cкpипaч(25.11.2020 20:04)
- Это бесполезно, смотри: fk0(230 знак., 25.11.2020 20:17)
- Я использую power down режим. Для выхода из этого режима сна у меня
два события: прерывание уровнем 0 по INT0, INT1. Tpoeшник(218 знак., 25.11.2020 20:30)
- Скорей в атмеге, если ты нигде не ошибся, реакция только на нулевой
фронт, а не на уровень. Но как я сказал -- это идиотическое
решение, так можно заснуть навсегда. Мне сомнительно, что так
сделано. Может там нужно прерывания сконфигурировать не по фронту,
а по уровню? Даташит читать лезть лень. Может там у тебя уже
прерывание есть и ты флаг не сбрасываешь и т.п. - fk0(25.11.2020 20:33)
- Ясен%, что в меге есть прерывания по уровню и фронту/срезу. Вот я и
соображаю, накуй засыпать в условии прерывания по уровню? Там-же
ещо прикол в том, что когда троешник выполняет своё усыпление,
через каждую команду происходит обработка прерывания. - mse homjak(25.11.2020 20:37)
- не происходит я так понимаю, флаг сбросили и досвидос прерывание!
поэтому и засыпает! - Aleksey_75(25.11.2020 21:21)
- ну тогда единственный выход, заснуть в прерывании тем самым
выстрелить себе в ногу!))) - Aleksey_75(25.11.2020 21:41)MBedder
- Сложнее. Самое простое, если прерывание генерится каким внешним Р-С
триггером. Или Д триггером. Мы проснулись, сбросили триггер сделали
дела и уснули. Если так низя, значит программируем прерывание на
переход в "1" или пин своп и идём в повердовн соотвецтвующего
уровня. Как тока прохавали, что нас попустило, перепрограммируемся
взад и честно впадаем в кому. - mse homjak(25.11.2020 22:42)
- ну эт самое правильное решение, имхо! Но если, уйти в кому из
прерывания на avr, это значит навсегда! - Aleksey_75(25.11.2020 22:51)
- Ну да. Там ещо со стеком начнутся проблемы. - mse homjak(25.11.2020 23:17)
- ну эт самое правильное решение, имхо! Но если, уйти в кому из
прерывания на avr, это значит навсегда! - Aleksey_75(25.11.2020 22:51)
- Сложнее. Самое простое, если прерывание генерится каким внешним Р-С
триггером. Или Д триггером. Мы проснулись, сбросили триггер сделали
дела и уснули. Если так низя, значит программируем прерывание на
переход в "1" или пин своп и идём в повердовн соотвецтвующего
уровня. Как тока прохавали, что нас попустило, перепрограммируемся
взад и честно впадаем в кому. - mse homjak(25.11.2020 22:42)
- ну тогда единственный выход, заснуть в прерывании тем самым
выстрелить себе в ногу!))) - Aleksey_75(25.11.2020 21:41)MBedder
- Хз. Не просыпается. Но я пока вам описывал свое хождение по граблям
вычитал что есть у этого проца еще и Pin Change Interrupt. Куда я
раньше смотрел не знаю, но это по идее решит мои проблемы. Напишу
если получится. Спасибо! - Tpoeшник(25.11.2020 20:43)
- из powerdown только "For INT1 and INT0, only level interrupt." , a
в EICRA только "The low level of INT1 generates an interrupt
request." , все верно! Если
заснули в 0, это навсегда! Хотя напрашиваемся вопрос как вообще в нуле можно заснуть! - Aleksey_75(25.11.2020 20:51)- Есть еще возможность проснутся: переходом уровня на пине. Я не
дочитал. Что касается как можно уснуть: не знаю, но спит если
верить показаниям микроамперметра. - Tpoeшник(25.11.2020 20:53)
- из powerdown только по уровню! Смотри DS! Aleksey_75(1 знак., 25.11.2020 20:57, картинка)
- Ну да. Пишут что для выхода из этого состояния прерывами по ИНТ0 и
ИНТ1 только уровнем. Но при этом типа не запрещают PCINT Tpoeшник(222 знак., 25.11.2020 21:00)
- дык "External level interrupt on INT" только уровнем! - Aleksey_75(25.11.2020 21:07)
- Да, но на этих пинах есть еще и PCINT18, PCIN19 - Tpoeшник(25.11.2020 21:12)
- могу ошибаться, но по моему не сработает! клоки PCINTx нужны, а
powerdown их нету Aleksey_75(1 знак., 25.11.2020 21:18, картинка)
- За исключающим ИЛИ может формироваться переход с 0 на 1 при любом
переходе на входе в спящем режиме. Что там дальше не ясно, но
возможно просыпается проц и есть тактовая для синхр.Д триггеров по
картинке - Tpoeшник(25.11.2020 21:54 - 26.11.2020 01:39)
- на картинке клоки уже есть до изменения уровня на входе! ну если
есть девайс на руках почему не применить "научный тык" ? ))) все
встанет на свои места ! - Aleksey_75(25.11.2020 21:58)
- Да, сейчас доберусь домой и попробую. Девайс со мной в спич.
коробке) Но клоки по идее не нужны до точки за лог И. Видимо там
идея в том чтоб в спячку войти этим куском схемы так чтоб при любой
смене на входе получить за этим самым лог" И" Импульс 0-1 - Tpoeшник(25.11.2020 22:05)
- Да. Работает. Pin change interrupts on PCINT are detected
asynchronously. То есть: можно использовать технологию с переходом
уровня на пине для пробуждение из режима сна. Спасибо! - Tpoeшник(25.11.2020 23:01)
- из power-down или другого ? это как бы имеет большое значение! - Aleksey_75(25.11.2020 23:04)
- Из power-down. Нет, ну вроде все честно. - Tpoeшник(25.11.2020 23:12)
- из power-down или другого ? это как бы имеет большое значение! - Aleksey_75(25.11.2020 23:04)
- Да. Работает. Pin change interrupts on PCINT are detected
asynchronously. То есть: можно использовать технологию с переходом
уровня на пине для пробуждение из режима сна. Спасибо! - Tpoeшник(25.11.2020 23:01)
- Да, сейчас доберусь домой и попробую. Девайс со мной в спич.
коробке) Но клоки по идее не нужны до точки за лог И. Видимо там
идея в том чтоб в спячку войти этим куском схемы так чтоб при любой
смене на входе получить за этим самым лог" И" Импульс 0-1 - Tpoeшник(25.11.2020 22:05)
- на картинке клоки уже есть до изменения уровня на входе! ну если
есть девайс на руках почему не применить "научный тык" ? ))) все
встанет на свои места ! - Aleksey_75(25.11.2020 21:58)
- За исключающим ИЛИ может формироваться переход с 0 на 1 при любом
переходе на входе в спящем режиме. Что там дальше не ясно, но
возможно просыпается проц и есть тактовая для синхр.Д триггеров по
картинке - Tpoeшник(25.11.2020 21:54 - 26.11.2020 01:39)
- могу ошибаться, но по моему не сработает! клоки PCINTx нужны, а
powerdown их нету Aleksey_75(1 знак., 25.11.2020 21:18, картинка)
- Да, но на этих пинах есть еще и PCINT18, PCIN19 - Tpoeшник(25.11.2020 21:12)
- дык "External level interrupt on INT" только уровнем! - Aleksey_75(25.11.2020 21:07)
- Ну да. Пишут что для выхода из этого состояния прерывами по ИНТ0 и
ИНТ1 только уровнем. Но при этом типа не запрещают PCINT Tpoeшник(222 знак., 25.11.2020 21:00)
- из powerdown только по уровню! Смотри DS! Aleksey_75(1 знак., 25.11.2020 20:57, картинка)
- Есть еще возможность проснутся: переходом уровня на пине. Я не
дочитал. Что касается как можно уснуть: не знаю, но спит если
верить показаниям микроамперметра. - Tpoeшник(25.11.2020 20:53)
- из powerdown только "For INT1 and INT0, only level interrupt." , a
в EICRA только "The low level of INT1 generates an interrupt
request." , все верно! Если
- не происходит я так понимаю, флаг сбросили и досвидос прерывание!
поэтому и засыпает! - Aleksey_75(25.11.2020 21:21)
- Ясен%, что в меге есть прерывания по уровню и фронту/срезу. Вот я и
соображаю, накуй засыпать в условии прерывания по уровню? Там-же
ещо прикол в том, что когда троешник выполняет своё усыпление,
через каждую команду происходит обработка прерывания. - mse homjak(25.11.2020 20:37)
- Скорей в атмеге, если ты нигде не ошибся, реакция только на нулевой
фронт, а не на уровень. Но как я сказал -- это идиотическое
решение, так можно заснуть навсегда. Мне сомнительно, что так
сделано. Может там нужно прерывания сконфигурировать не по фронту,
а по уровню? Даташит читать лезть лень. Может там у тебя уже
прерывание есть и ты флаг не сбрасываешь и т.п. - fk0(25.11.2020 20:33)
- Я использую power down режим. Для выхода из этого режима сна у меня
два события: прерывание уровнем 0 по INT0, INT1. Tpoeшник(218 знак., 25.11.2020 20:30)
- Это бесполезно, смотри: fk0(230 знак., 25.11.2020 20:17)
- И перед каждой командой sleep проверять, "а вдруг?!" - Cкpипaч(25.11.2020 20:04)
- Дык наверное, разрешаем прерывание при нулевом уровне туда прыгаем
тут-же, там его запрещаем выходим из него и успешно засыпаем
намертво. - Cyclone(26.11.2020 09:45)