STM32 F103C8T6

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

krepton85, это аналоговое питание. Референс выведен только в 100-ногом корпусе.

Datak
Offline
Зарегистрирован: 09.10.2014

Ещё, если интересно, у этого STM'a есть встроенный референс, который можно выбрать программно. В цифрах не помню, извините если навру, но по-моему что-то около 1.2 вольта.

krepton85
Offline
Зарегистрирован: 02.02.2016

Datak пишет:
Ещё, если интересно, у этого STM'a есть встроенный референс, который можно выбрать программно. В цифрах не помню, извините если навру, но по-моему что-то около 1.2 вольта.

А он хоть стабилен? Мне нужно просто питание от батареек сделать и что бы уровень заряда измерялся АЦП. По этому напряжение питания МК не стабильное будет от 2 до 3 вольт, но источник опорного напряжения должен быть всегда стобилен.

Datak
Offline
Зарегистрирован: 09.10.2014

https://datasheet.octopart.com/STM32F103C8T6-STMicroelectronics-datasheet-48026265.pdf
стр.41, п.5.3.4 Embedded reference voltage

То есть, стабильность - 10mV во всём температурном диапазоне, но только при указанном напряжении питания - 3V.

Как опорное напряжение зависит именно от напряжения питания - не написано. Значит, придётся поискать другой PDF, более детальный, если такой есть.

Или просто поэкспериментировать.

krepton85
Offline
Зарегистрирован: 02.02.2016

Вопрос по библиотеке  LowPower: https://github.com/stm32duino/STM32LowPower.

Использую режим shutdown mode  и пробуждение по внешнему прериванию attachInterruptWakeup(uint32_t pin, voidFuncPtrVoid callback, uint32_t mode), для данного микроконтроллера и режима доступен только пин PA0 это я уже выяснил.

По прериванию срабатывает ресет микроконтроллера, все как задумано, но затем повторно через секунд 10 (так задумано в скетче), все вызывается:

   


LowPower.attachInterruptWakeup(gdo0, rx_cc1101, FALLING);
LowPower.shutdown(TIME_SHUTDOWN_12H);

И почему то даже при отсутствии внешнего преривания микроконтроллер вновь перезагружается и так по кругу. Складывается такое впечатление будь то бы куда то в RTC память сохраняется событие о первом внешнем преривании и оно не очищается, что вновь вызывает ресет, сразу же после команды  LowPower.shutdown(TIME_SHUTDOWN_12H);

 Как это побороть?