|
|
|
STM32 – вопросы – проблемы - решения. |
|
|
|
Jan 28 2011, 14:27
|
Участник
Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291
|
Народ, кто уже успел попробовать stm32L151-152? Большая проблема: В СТОП-МОДе потребление составляет 300мкА, вместо заявленных 1-2!!! В Стэндбай-Моде всё честно- 1мкА, но он мне не подходит, т.к. во-первых не сохраняет SRAM, а во-вторых, отключает ИОН, который мне нужен все время совне. Почему в СТОПе такое потребление? Пример я взял стандартный из библиотеки, он маленький, запутаться невозможно. Единственное, что я изменил -это тактирование: не от внешнего резонатора, а от внутреннего(пробовал и MSI и HSI+PLL) -------------------------------- Все, проблема решена: необходимо дополнительно перевести все порты с цифрового входа на аналоговый вход.
Сообщение отредактировал fiim - Jan 29 2011, 07:36
|
|
|
|
|
Jan 30 2011, 07:08
|
Профессионал
Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528
|
Цитата(Ivan Kuznetzov @ Jan 29 2011, 22:37) Опробовал на флешках, мышках и клавиатуре. Флешки больше 8 Гб в упор не видит. У флешек на 8 Гб видит только 4. Почему? Где-то под размер отвели 32-битную переменную или в промежуточных вычислениях недосмотрели, а 2 32 как раз 4G.
--------------------
Russia est omnis divisa in partes octo.
|
|
|
|
|
Jan 30 2011, 11:32
|
Частый гость
Группа: Свой
Сообщений: 152
Регистрация: 21-12-05
Из: Москва
Пользователь №: 12 476
|
Цитата(fiim @ Jan 28 2011, 17:27) Народ, кто уже успел попробовать stm32L151-152? Большая проблема: В СТОП-МОДе потребление составляет 300мкА, вместо заявленных 1-2!!! В Стэндбай-Моде всё честно- 1мкА, но он мне не подходит, т.к. во-первых не сохраняет SRAM, а во-вторых, отключает ИОН, который мне нужен все время совне. Почему в СТОПе такое потребление? Пример я взял стандартный из библиотеки, он маленький, запутаться невозможно. Единственное, что я изменил -это тактирование: не от внешнего резонатора, а от внутреннего(пробовал и MSI и HSI+PLL) -------------------------------- Все, проблема решена: необходимо дополнительно перевести все порты с цифрового входа на аналоговый вход. А где вы разжились этими камушками? Образцы уже поставляют?
|
|
|
|
|
Jan 31 2011, 07:55
|
Участник
Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291
|
Цитата(topkin @ Jan 30 2011, 14:32) А где вы разжились этими камушками? Образцы уже поставляют? Да, это образец, просто повезло, вовремя отхватил, наверно последний был в Терре. Думаю скоро появятся в продаже. Note: Переводить все порты на аналоговый вход желательно, но не обязательно(тем более, что в стоп-моде могут потребоваться какие-то уровни на пинах): главное отключить подтяжки(пулап-пулдаун)жтага-это они в основном столько кушают.
Сообщение отредактировал fiim - Jan 31 2011, 08:03
|
|
|
|
|
Feb 1 2011, 15:46
|
Знающий
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725
|
Цитата(Danis @ Nov 19 2010, 19:19) Предлагаю в этой теме обсуждать вопросы разработчиков на STM32. ТЕМА: неверное значение при считывании регистра DBGMCU_IDCODE, STM32F103RB. Попробовал в программе вывести значение этого RO регистра (с помощью printf(), разумеется). Согласно Reference Manual RM0008, стр. 1055, регистр всегда доступен. С удивлением увидел нули! 1. Начал под отладчиком пошагово - вдруг все считалось правильно! 2. Вышел из отладчика, нажимал RESET, перезапуская процессор, - по-прежнему все правильно. 3. Передернул питание - опять нули!. Повторяем с шага 1. - опять правильно считывается, пока питание не передернешь. Кто сталкивался?
|
|
|
|
|
Feb 1 2011, 17:44
|
Участник
Группа: Участник
Сообщений: 72
Регистрация: 7-01-11
Пользователь №: 62 073
|
Ну правильно, DBG различают POR и остальные резеты. 0 читается один раз после включения? Может какие-то тонкости синхронизации шин. На 100м не воспроизвелось.
|
|
|
|
|
Feb 1 2011, 19:30
|
Знающий
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725
|
Цитата(akimych @ Feb 1 2011, 18:44) Ну правильно, DBG различают POR и остальные резеты. 0 читается один раз после включения? Может какие-то тонкости синхронизации шин. На 100м не воспроизвелось. Пробовал читать подрят несколько раз - все равно нули после передергивания питания. О синхронизации не скажу... Читаю лишь после того, как запущена вся периферия. Как я написал, согласно актуальному Reference Manual регистр читается и из пользовательской программы. Где-то в недрах форума ST я действительно нашел упоминание, что считывается только в режиме debug, а иначе - нули, но это касалось первых ревизий. Мой процессор имеет в DBGMCU_IDCODE (если удалось считать) значение 0x20030410, что означает Medium Density Device Revision Y. Интересно, что втыкает единократный вход в режим debug после переброски питания, что после этого считывается реальное значение... Может надо прочесть разок POR?
Сообщение отредактировал KnightIgor - Feb 1 2011, 19:31
|
|
|
|
|
Feb 1 2011, 22:28
|
Участник
Группа: Участник
Сообщений: 72
Регистрация: 7-01-11
Пользователь №: 62 073
|
Цитата Может надо прочесть разок POR? Не представляю, как можно прочитать POR Но вот если прочитать errata, то можно выяснить Цитата The DBGMCU_IDCODE and DBGMCU_CR debug registers are accessible only in debug mode (not accessible by the user software). When these registers are read in user mode, the returned value is 0x00. И касается походу всех ревизий 101 и 103го.
|
|
|
|
|
Feb 2 2011, 00:06
|
Участник
Группа: Участник
Сообщений: 72
Регистрация: 7-01-11
Пользователь №: 62 073
|
Потому что обычный RESET на эти регистры не влияет.
Сообщение отредактировал akimych - Feb 2 2011, 00:06
|
|
|
|
|
Feb 14 2011, 13:53
|
Частый гость
Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118
|
stm32f10x_nvic.hCODE /* NVIC Init Structure definition */ typedef struct { u8 NVIC_IRQChannel; u8 NVIC_IRQChannelPreemptionPriority; u8 NVIC_IRQChannelSubPriority; FunctionalState NVIC_IRQChannelCmd; } NVIC_InitTypeDef;
--------------------
ASB
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|