|
Заставить MSP430 спать все свободное время |
|
|
|
Jun 20 2011, 08:49
|
Участник

Группа: Участник
Сообщений: 39
Регистрация: 23-11-05
Пользователь №: 11 254

|
Добрый день. Вопрос собственно в заголовке. Надо чтобы контроллер MSP430F149 все свободное время спал. Достаточно ли будет написать так: Код void OS::IdleProcessUserHook() { LPM0; } PS использую IAR
|
|
|
|
|
 |
Ответов
|
Jun 26 2011, 17:50
|

тут может быть ваша реклама
    
Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280

|
Приветствую. Не буду создавать отдельную тему, тут напишу. Читал обе темы про слип режим в контексте МСП430 и даже вроде поучаствовал как-то, но появился новый ракурс проблемы. Все понятно если тип слип режима один, например LPM0. Но что делать, если в зависимости от ситуации тип режима должен меняться? Например, мой случай. Прибор работает условно в двух режимах, покоя и работы. В покое прибор ничего не делает, просто ждет нажатия кнопки. Его задача потреблять как можно меньше. В режиме работы есть обмен по УАРТ, запись на СД карту и пр. дела, в перерывах между которыми неплохо бы поспать. Однако, реализовать сон можно тут по-разному. В первом случае можно делать LPM3, и тактироваться от часового кварца. Для периодического опроса кнопки 32 кГц хватит, а периферия не нужна. В режиме работы LPM3 не годится ибо нельзя снимать клоки с УАРТ и пр. поэтому только LPM0. Проблема вот в чем. Просто поставить if в зависимости от режима в IdleProcessUserHook нельзя. Ведь в каждой из задач ОС при восстановлении контекста восстанавливается и статусный регистр, а в нем информация о работе/не работе FLL. Соответственно при смене режима с покоя на рабочий и включив FLL сей факт запишется только в статусный регистр контекста текущего процесса, а в другие процессы как??? Хакерскими способами не очень хорошо. Кто-нибудь сталкивался с подобной проблемой? Как решали? Спасибо.
|
|
|
|
Сообщений в этой теме
aliko Заставить MSP430 спать все свободное время Jun 20 2011, 08:49 aliko Наверное вопрос сочли слишком глупым чтобы на него... Jun 21 2011, 10:46 SSerge Цитата(aliko @ Jun 21 2011, 17:46) 1) Я т... Jun 21 2011, 12:26  aliko Цитата(SSerge @ Jun 21 2011, 16:26) Тут у... Jun 22 2011, 08:11   dxp Цитата(aliko @ Jun 22 2011, 15:11) Ну воб... Jun 22 2011, 11:58   zltigo QUOTE (aliko @ Jun 22 2011, 11:11) IdlePr... Jun 22 2011, 12:10 aliko ЦитатаЧто вы предлагаете делать, когда все ваши пр... Jun 22 2011, 12:02 MrYuran Цитата(aliko @ Jun 22 2011, 16:02) Если у... Jun 22 2011, 12:33 dxp Цитата(aliko @ Jun 22 2011, 19:02) Ну в о... Jun 22 2011, 12:35 aliko ЦитатаМне было бы тоже очень интересно узнать про ... Jun 22 2011, 13:19 dxp Цитата(aliko @ Jun 22 2011, 20:19) Как-то... Jun 22 2011, 13:36 MrYuran Ещё вопрос на засыпку: а оно обязательно, вытесняю... Jun 22 2011, 13:45 dxp Цитата(MrYuran @ Jun 22 2011, 20:45) Ещё ... Jun 22 2011, 14:55  zltigo QUOTE (dxp @ Jun 22 2011, 17:55) Как раз-... Jun 22 2011, 17:37   dxp Цитата(zltigo @ Jun 23 2011, 00:37) Я дум... Jun 23 2011, 02:56    zltigo QUOTE (dxp @ Jun 23 2011, 05:56) Ну, дык,... Jun 23 2011, 10:42     MrYuran Цитата(zltigo @ Jun 23 2011, 14:42) Это п... Jun 23 2011, 10:46      zltigo QUOTE (MrYuran @ Jun 23 2011, 13:46) А ди... Jun 23 2011, 11:08 aliko ЦитатаЕщё вопрос на засыпку: а оно обязательно, вы... Jun 22 2011, 13:49 jorikdima Не появилось ни у кого идей по моему вопросу? Sep 12 2011, 16:17 dxp Цитата(jorikdima @ Sep 12 2011, 23:17) Не... Sep 15 2011, 09:13
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|