28.01.2017, 19:55
|
|
Частый гость
Регистрация: 15.06.2011
Сообщений: 29
Сказал спасибо: 0
Сказали Спасибо 15 раз(а) в 5 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от STM32F0
|
У STM32F103C8T6 - 64К флэша.
|
128 КБ. Не по даташиту конечно...
|
|
|
|
28.01.2017, 20:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Пётр_В
|
128 КБ
|
Я бы не рассчитывал на это: мало ли, вдруг правильный попадется?
А вообще, зачем столько? Даже 64к непонятно, как можно умудриться забить! Разве что хранить шрифты в офигенном разрешении...
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
28.01.2017, 20:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от eddy
|
Разве что хранить шрифты в офигенном разрешении...
|
Много памяти уходит, если работать с текстами. формирование сообщений, преобразование форматов и кодировок. Хранить кучу сообщений, которые или на дисплей выводить, или передавать куда-то. Конечно, можно их хранить на внешней памяти. Но это уже после того, как внутренней не хватает.
|
|
|
|
29.01.2017, 14:17
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от CERGEI1982
|
Сброс будет перед входом в режим Standby и Stop ?
|
Вместо! Вместо перехода в стендбай или стоп при команде МК будет сброшен и после сброса начнет работать заново. Зачем это нужно, я не знаю. Видимо, нужно...
Поведение задают биты nRST_STDBY и nRST_STOP, находящиеся в регистрах опций и описанные в данном случае в документе PM0075.
По умолчанию, эти два бита = 1, и сброс не происходит, а контроллер переходит в режимы стендбай или стоп.
Изменить биты опций можно либо непосредственно из текста программы через запись флеша, либо через утилиту программирования STVP.
При нормальном переходе в стендбай МК полностью отключается, содержимое ОЗУ и регистров теряется, все выходы деактивируются. После просыпания по кнопке WKUP или от RTC он будет запущен с начала. При этом будет выставлен бит SBF регистра PWR-›CSR, указывающий на выход из стендбая. Проверяя его состояние после запуска МК, можно определить, из какого режима запустился МК - либо после включения питания или сброса кнопкой NRST, либо после выхода из стендбая. А определить, по какому событию - WKUP либо RTC или IWDG он вышел из стендбая можно, проверив флаг WUF.
В режиме "стоп" отключено тактирование ядра и периферии, но содержимое ОЗУ и регистров сохраняется. Выход из стопа возможен по внешнему прерыванию EXTI.
Последний раз редактировалось NewWriter; 29.01.2017 в 15:04.
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
29.01.2017, 14:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от NewWriter
|
При нормальном переходе в стендбай МК полностью отключается, содержимое ОЗУ и регистров теряется и после просыпания по кнопке WKUP или от RTC он будет запущен с начала. При этом будет выставлен бит SBF, указывающий на выход из стендбая. Проверяя его состояние после запуска МК, можно определить, из какого режима запустился МК - либо после включения питания или сброса кнопкой NRST, либо после выхода из стендбая. А определить, по какому событию - WKUP либо RTC или IWDG он вышел из стендбая можно, проверив флаг WUF.
В режиме "стоп" отключено тактирование ядра и периферии, но содержимое ОЗУ и регистров сохраняется. Выход из стопа возможен по внешнему прерыванию EXTI.
|
Спасибо за подробное описание. Про смутил перевод вот и решил спросить.Проверка конечно важна от чего вышел из режима микроконтроллер и совершить реакцию по нужному флагу: запустить рабочий цикл чего то или это ложный выход из режима.
__________________
Глаза боятся,а руки делают.
|
|
|
|
29.01.2017, 15:11
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Немного не так.
Из личного опыта:
устройство питается от батареек и не имеет механического выключателя. Вставляем батарейки, МК запускается. Но нужно, чтобы устройство при этом не включилось. Значит, в первых строчках программы проверяем бит SBF. Нету его? значит это было втыкание батареек и МК нужно перевести в стендбай, не включая обвязки вокруг МК. Далее, просыпание по нажатию кнопки (она висит на PA0 всегда). МК запустился, проверяем бит BSF - да, он есть, значит, теперь уже надо подать сигналы включения микросхем устройства и работать как положено.
Проверку этого флага нужно делать только если испольуется стендбай и подразумевается именно такой алгоритм работы.
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
29.01.2017, 21:05
|
|
Вид на жительство
Регистрация: 26.07.2007
Сообщений: 483
Сказал спасибо: 18
Сказали Спасибо 107 раз(а) в 68 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
STM32F100RB непонятное с RTC.
Все работает кроме установки счетчика RTC (Хотя по воле всевышнего иногда проскакивает через последний полл RTOFF флага):
PHP код:
|
while ((RTC-›CRL & RTC_FLAG_RTOFF) == (uint16_t)RESET) { }
RTC-›CRL |= RTC_CRL_CNF; RTC-›CNTH = time››16; RTC-›CNTL = time; RTC-›CRL &= ~RTC_CRL_CNF;
/* далее флаг RTOFF не всегда появляется в большинстве случаев - код виснет на следующем цикле... */ while ((RTC-›CRL & RTC_FLAG_RTOFF) == (uint16_t)RESET) { }
|
Спасибо.
Последний раз редактировалось nerozero; 29.01.2017 в 21:05.
Причина: очепятка
|
|
|
|
29.01.2017, 22:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.02.2013
Сообщений: 1,037
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
PWR-›CR |= PWR_CR_DBP;
Эта команда относится и к RTC регистрам
Последний раз редактировалось dgrishin; 29.01.2017 в 22:29.
|
|
|
|
29.01.2017, 22:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.02.2013
Сообщений: 1,037
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
PWR-›CR |= PWR_CR_DBP;
Эта команда относится и к RTC регистрам
|
|
|
Сказали "Спасибо" dgrishin
|
|
|
30.01.2017, 05:35
|
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от nerozero
|
while ((RTC-›CRL & RTC_FLAG_RTOFF) == (uint16_t)RESET)
|
Чему равны RTC_FLAG_RTOFF и RESET?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:24.
|
|