Ещё, если интересно, у этого STM'a есть встроенный референс, который можно выбрать программно. В цифрах не помню, извините если навру, но по-моему что-то около 1.2 вольта.
Ещё, если интересно, у этого STM'a есть встроенный референс, который можно выбрать программно. В цифрах не помню, извините если навру, но по-моему что-то около 1.2 вольта.
А он хоть стабилен? Мне нужно просто питание от батареек сделать и что бы уровень заряда измерялся АЦП. По этому напряжение питания МК не стабильное будет от 2 до 3 вольт, но источник опорного напряжения должен быть всегда стобилен.
Использую режим shutdown mode и пробуждение по внешнему прериванию attachInterruptWakeup(uint32_t pin, voidFuncPtrVoid callback, uint32_t mode), для данного микроконтроллера и режима доступен только пин PA0 это я уже выяснил.
По прериванию срабатывает ресет микроконтроллера, все как задумано, но затем повторно через секунд 10 (так задумано в скетче), все вызывается:
И почему то даже при отсутствии внешнего преривания микроконтроллер вновь перезагружается и так по кругу. Складывается такое впечатление будь то бы куда то в RTC память сохраняется событие о первом внешнем преривании и оно не очищается, что вновь вызывает ресет, сразу же после команды LowPower.shutdown(TIME_SHUTDOWN_12H);
Приветствую!
У меня есть скетч под управление BT модулем. Смысл такой,что при определённых условиях, STM один из выходов замыкает на массу (простите,если криво говорю) ). Но новый BT модуль работает наоборот и ему необходимо получать плюсовой сигнал.
krepton85, это аналоговое питание. Референс выведен только в 100-ногом корпусе.
Ещё, если интересно, у этого STM'a есть встроенный референс, который можно выбрать программно. В цифрах не помню, извините если навру, но по-моему что-то около 1.2 вольта.
А он хоть стабилен? Мне нужно просто питание от батареек сделать и что бы уровень заряда измерялся АЦП. По этому напряжение питания МК не стабильное будет от 2 до 3 вольт, но источник опорного напряжения должен быть всегда стобилен.
https://datasheet.octopart.com/STM32F103C8T6-STMicroelectronics-datasheet-48026265.pdf
стр.41, п.5.3.4 Embedded reference voltage
То есть, стабильность - 10mV во всём температурном диапазоне, но только при указанном напряжении питания - 3V.
Как опорное напряжение зависит именно от напряжения питания - не написано. Значит, придётся поискать другой PDF, более детальный, если такой есть.
Или просто поэкспериментировать.
Вопрос по библиотеке LowPower: https://github.com/stm32duino/STM32LowPower.
Использую режим shutdown mode и пробуждение по внешнему прериванию attachInterruptWakeup(uint32_t pin, voidFuncPtrVoid callback, uint32_t mode), для данного микроконтроллера и режима доступен только пин PA0 это я уже выяснил.
По прериванию срабатывает ресет микроконтроллера, все как задумано, но затем повторно через секунд 10 (так задумано в скетче), все вызывается:
И почему то даже при отсутствии внешнего преривания микроконтроллер вновь перезагружается и так по кругу. Складывается такое впечатление будь то бы куда то в RTC память сохраняется событие о первом внешнем преривании и оно не очищается, что вновь вызывает ресет, сразу же после команды LowPower.shutdown(TIME_SHUTDOWN_12H);
Как это побороть?
Приветствую!
У меня есть скетч под управление BT модулем. Смысл такой,что при определённых условиях, STM один из выходов замыкает на массу (простите,если криво говорю) ). Но новый BT модуль работает наоборот и ему необходимо получать плюсовой сигнал.
Вот отрезок кода
Я правильно понимаю,что мне pinMode с open_drain необходимо перевести в open_drain_Pull_Up ?
В программе плюсовой сигнал на ноге. HIGH на LOW поменять надо. OUTPUT не может быть open и прочее.
Я правильно понимаю,что в строке digitalWrite(PB12, LOW); btn = millis(); необходимо вместо LOW выставить HIGH?
Да. Во всех строках управления этими линиями нужно инвертировать значения.
Спасибо