kostyan1 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба В проектируемом девайсе предусмотрен выход из сна как по кнопке, так и по событию от встроенных часов (или часового таймера). Хотелось бы знать когда я проснулся от кнопки. Господа, подскажите кто подробно работал с Backup Mode на Cortex M3 (или на аналогичном слип режиме для SAM7) по следующей ситуации. В документации написанно, что вроде как юзер может понять от какого события проснулся проц: "If an enabled WKUP pin is asserted for a time longer than the debouncing period, a wake up of the core power supply is started and the signals, WKUP0 to WKUP15 as shown in Figure 19-7, are latched in the Supply Controller Status Register (SUPC_SR). This allows the user to identify the source of the wake up, however, if a new wake up condition occurs, the primary information is lost. No new wake up can be detected since the primary wake up condition has disappeared." Я "закодировался" на пробуждение от WKUP5. Просыпаться то я просыпаюсь, но сколько бы не читал регистр SUPC_SR, он у меня стабильно 0x00000080. То есть ожидаемого мною WKUPIS5 бита (0x01<<21) так я и не поймал. Можно конечно в итоге анализировать часы, и определять от них ли было просыпание или от кнопки. Но было бы айс, если все же заработает "документированный" способ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igorsk 0 19 октября, 2010 Опубликовано 19 октября, 2010 (изменено) · Жалоба В сабже надо было писать AT91, а не Cortex-M3. На уровне ядра нет стандартного регистра с идентификатором события. У меня есть подозрение, что вы читаете SUPC_WUIR, там как раз пятый бит это WKUPEN5. Извиняюсь, фигню спорол-с, WKUPEN5 это 0x20 а не 0x80... Изменено 19 октября, 2010 пользователем igorsk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться