Jump to content

Search the Community

Showing results for tags 'sleep'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
  • Товары и услуги
  • Разное
  • Переделки's ATX->ЛБП
  • Переделки's разные темы
  • Киловольты юмора's Юмор в youtube
  • Радиолюбительская доска объявлений exDIY's Надежность и группы продавцов

Blogs

There are no results to display.

There are no results to display.

Marker Groups

  • Пользователи форума

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Found 3 results

  1. Вместо вышедшей из строя проводной мыши поставил беспроводную мышь "Rapoo-1620" и получил на ровном месте проблему: при нажатии на клавиатуре Genius KB-06SE (фото в Интернете найти не смог - старенькая уже, но я к ней приспособился) кнопки "Sleep" (с полумесяцем на ней) компьютер пытается выключиться, но через примерно минуту снова загружается. С проводной мышью такого не было. Взял беспроводную мышку у жены - то же самое. Взял у неё клавиатуру (но тоже с кнопкой "Sleep" ) - всё равно перезагружается. Получается, что USB приемник беспроводным мышек всё время обменивается информацией с компьютером, даже в спящем режиме и "будит" его. В принципе, эту проблему как-то обхожу, вынимая приемник из USB разъема перед "усыплением", но гнездо-то разбалтывается да и неудобно - бывает, надо срочно "усыпить" аппарат. Прошу не рекомендовать выключать компьютер штатными средствами - оставляю открытыми несколько проектов, потом каждый искать заново, находить в них точки, в которых работал перед усыплением и т.п. - слишком неудобно. Если простого решения не найдется - фиг с ним, буду действовать, как уже приспособился (вынимать приемник). Но, а вдруг есть таковое?
  2. Захотелось сделать устройство с минимальным потреблением. Первоначально хотел попробовать на f103, но глянул в даташит и ужаснулся: в любом режиме сна у него потребление больше, чем у AVR-ок. Ну хорошо, в standby сравнимо, но этот режим мне не подходит. Поискал аналоги, вроде бы серия L1 больше подходит для автономных устройств. Да еще там есть вкусности вроде сенсорных кнопок и управления ЖКИ (не то чтобы необходимо, но поиграться стоит). Собрал макетную плату с высокочастотным (8 МГц) и низкочастотным (32768) кварцами, стабилизатором, кнопками и светодиодами (из кода понятно что где висит). Запускаю RTC с пробуждением раз в секунду (в финальном устройстве просыпаться будет еще чаще) и пытаюсь увести в режим stop. Но вместо потребления в единицы микроампер получаю пол-миллиампера. Либо я какую-то периферию не отключил (да я их и не включал вроде...), либо как-то неправильно увожу в сон (вроде все по даташиту...), либо лыжи не едут. Вот ключевые моменты кода (остальное во вложении): void enable_btn(){ RCC->AHBENR |= RCC_AHBENR_GPIOBEN; GPIO_config(JBTN); //настройка на вход с минимальной скоростью, без подтяжке } void disable_all(){ GPIOA->MODER = 0xFFFFFFFF; //all to analog in GPIOB->MODER = 0xFFFFFFFF; //all to analog in GPIOC->MODER = 0xFFFFFFFF; //all to analog in GPIOD->MODER = 0xFFFFFFFF; //all to analog in GPIOA->OSPEEDR = 0; //all to low speed (наверное, неважно) GPIOB->OSPEEDR = 0; //all to low speed (наверное, неважно) GPIOC->OSPEEDR = 0; //all to low speed (наверное, неважно) GPIOD->OSPEEDR = 0; //all to low speed (наверное, неважно) GPIOA->OTYPER &=~ 0x0000FFFF; GPIOB->OTYPER &=~ 0x0000FFFF; GPIOC->OTYPER &=~ 0x0000FFFF; GPIOD->OTYPER &=~ 0x0000FFFF; RCC->AHBENR &=~ (RCC_AHBENR_GPIOAEN | RCC_AHBENR_GPIOBEN | RCC_AHBENR_GPIOCEN | RCC_AHBENR_GPIODEN); clock_MS(); } void go_sleep(){ RCC->APB1ENR |= RCC_APB1ENR_PWREN;//вкл тактирование PWR SCB->SCR |= SCB_SCR_SLEEPDEEP; //для M3 разрешаем sleepdeep PWR->CR &=~PWR_CR_PDDS;//выбираем режим Power Down Deepsleep PWR->CR &=~PWR_CR_CWUF ; //очищаем wakeup flag PWR->CR |= PWR_CR_LPSDSR; //уменьшаем voltage regulator __WFI(); } ... //когда нужно заснуть disable_all(); go_sleep(); enable_btn(); Пробовал совсем не переключаться с MSI на HSE, это влияет только на рабочий режим, во сне как было 500 мкА так и остается. L1_sleep.rar
  3. Доброго времени суток! Всю жизнь работал исключительно с AVR, но тут возникла необходимость использовать в девайсе супермаленький и низкопотребляющий PIC10F200, и тут возникли некоторые сложности, которые не могу решить без Вашей помощи... Сначала, при входе в sleep режим, мне никак не удавалось вывести его из него... Потом на одном из форумов я прочитал что этот контроллер при выходе из sleep переходит к выполнению команды по нулевому адресу, вместо того чтобы выполнять команду, следующую на командой sleep. Учитывая что команда sleep была одной из первых в моем коде, то не удивительно что устройство не работало (фактически программа инициализировала порты, уходила в sleep режим и так по замкнутому кругу). Переписал программу таким образом, чтобы уход в sleep был после выполнения нужных мне действий...но тут другой баг вылез... Пишу я на Си в HI-TECH PICC Программный код: #include <htc.h> unsigned char imp_count=0; void delay(unsigned int value) { while(value-- > 0) { } } void main(void) { TRIS = 0b00001000; // настраиваем линию GP3 на вход, GP0, GP1, GP2 на выход OPTION=0b01000000; while(1) { if (GP3==1) { if (imp_count==0||imp_count==1) { GP1=1; delay(5000); GP1=0; imp_count++; } if (imp_count==2||imp_count==3) { imp_count++; } } if (imp_count>3) {imp_count==0;} asm ("sleep"); } } На вход GP3 микроконтроллера постоянно поступают импульсы. В ответ на первые два из них он должен мигнуть светодиодом подвешенным на ногу GP1, а на следующие два импульса - ничего не делать. И так по замкнутому кругу... Но, вместо этого он мигает диодом на каждый приходящий импульс без пропуска! Возникает впечатление, что при сбросе счетчика команд после выхода из sleep, значение переменной imp_count также сбрасывается в ноль. Может ли такое быть? или проблема в чем то другом? В общем если кто то знает в чем проблема, прошу поделиться... Биты конфигурации выставляю так: MCLR отключен (GP3 работает как вход) WDT отключен Работа от внутреннего генератора (4Мгц)
×
×
  • Create New...