Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Пт апр 26, 2019 06:52:14
Опытный кот
Карма: 13
Рейтинг сообщений: 163
Зарегистрирован: Сб дек 22, 2012 08:17:42 Сообщений: 744 Откуда: Караганда, Казахстан
Рейтинг сообщения:1
isx писал(а):
Использую в STM32 часовой кварц.
Тут не так давно обсуждалось. Генератор LSE у STM32 рассчитан на кварцы с load capacitance (CL) <=7 пФ. Подробности в даташите на конкретный камень, в разделе External clock source characteristics, во второй половине раздела (в первой идут материалы по HSE).
Практически, в продаже встречаются кварцы с CL = 6 пФ, но не так часто, как хотелось бы. Гораздо чаще продаются кварцы с CL = 12 пФ. По внешнему виду их не отличишь - спичка и спичка. Только вот с кварцами, у которых CL > 7 пФ, генератор LSE чипов STM32 работает крайне неустойчиво . Может не запускаться, может врать по частоте...
И взятый наугад кварц 32768, скорее всего, не будет 6-пикушечным. Да и китайцы на свои пробные платы тоже, бывает, лепят что попало, особенно на дешевые.
На Али 6-пФ кварцы ищутся по <32768 6pF>.
Добавлено after 20 minutes 36 seconds: Да, разбираться с периферией STM32 надо не по даташиту, а по Reference manual'у на соответствующую серию камней.
_________________ Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Последний раз редактировалось afz Пт апр 26, 2019 14:29:05, всего редактировалось 1 раз.
Где-то видел картинку, на ней была обозначена область ОЗУ, в конце самом стек, а куча лишь часть памяти, которая располагалось перед стеком. Так же тоже стеку некуда расти...
Куча не является обязательным для реализации приложения. Она в основном нужна для стандартной библиотеки Си для работы с динамическим распределением памяти типо malloc это обеспечивает переносимость кода. Вы можете убрать ее и сохранить ОЗУ.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Размер кода такой же (команда STR 16-битная, а STRD 32-битная). Скорость исполнения по тактам посчитать (с учётом работы конвейера и разных шин) не берусь, но что-то мне подсказывает...
Так что, остаётся только удобство записи. Оно, конечно же, на порядок лучше чем предлагает Oxford, но работать ещё есть над чем
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Осциллографом смотрю а на линиях данных нули прут , причем одна линия в 1 даже если пишешь туда 0 Адрес выставляется правильно проверил. Что не так делаю ?
PS: Железо рабочее, сначала подрыгал пинами отдельно и инициализировал w5300.
Размер кода такой же (команда STR 16-битная, а STRD 32-битная). Скорость исполнения по тактам посчитать (с учётом работы конвейера и разных шин) не берусь, но что-то мне подсказывает...
Я бы на вашем месте не слишком доверял подобным нелокализуемым "подсказкам". У кортекса-м3 обе названных команды 32-битные, где первая выполняется 2 цикла, а вторая 3.
Я бы на вашем месте не слишком доверял подобным нелокализуемым "подсказкам". У кортекса-м3 обе названных команды 32-битные, где первая выполняется 2 цикла, а вторая 3.
А если учесть, что это одноразовая инициализация, то удобство записи важно, размер кода тоже имеет значение, а вот разница в несколько тактов на 72 МГц это десятки наносекунд. Вообще ни о чём. Частенько наоборот приходится десятки миллисекунд ждать пока вся схема оживёт и закончатся переходные процессы.
Так понял, что возражения если и есть, то касаются они третьестепенных деталей. Это хорошо.
В качестве средства для развития алгоритмического воображения, предлагаю определить, что делает нижеследующий алгоритм, будучи запущенным на F103 c частотой 72мгц.
Для начала, лишает автора премии. Затем, если компилятор принципиальный, то
Код:
Error[Pe144]: a value of type "uint32_t volatile *" cannot be used to initialize an entity of type "int volatile *"
И только если уговорить компилятор, то 1 Гц на выходе. В чём вопрос то? Причём тут "алгоритмическое воображение", если тут надо тупо знать регистры конкретного чипа?
В коде вы смогли разглядеть смысл только меньшей части, а именно инициализацию таймера. Придирку насчет предупреждения компилятора принимаю, но только, как придирку. Ваш вопрос насчет "причем тут" справедлив, но должен быть задан самому себе. В общем, вы не справились.
Вообще ни с чем. Конкретный вопрос был задан в самом начале. Вместо ответа на него, вы блистаете азами владения средой разработки. Из исходного кода смогли получить листинг дизасемблера. Ну тоже наверное достижение.
В качестве средства для развития алгоритмического воображения, предлагаю определить, что делает нижеследующий алгоритм, будучи запущенным на F103 c частотой 72мгц.
Вместо ответа на него, вы блистаете азами владения средой разработки. Из исходного кода смогли получить листинг дизасемблера. Ну тоже наверное достижение.
А это чтобы у тебя не было возможности юлить и фантазировать, что там что-то "волшебное" происходит. И что даже эту глупость без ошибки не смог написать. Ну вот объясни, зачем было марать нам мониторы вот этой какашкой
Код:
for(__O int *i = &GPIOC->ODR;; *i = TIM2->CNT & GPIO_ODR_ODR13);
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения