Вопрос. Зачем писать на std periph, если оно заметно тормозит дело. Я понимаю что счёт на микросекунды это ерунда, но хочется понять идеальные условия. Время замерял, включив отладку в Keil и шагая по коду построчно.
Мы так и не поняли в чём проблема открыть и посмотреть реализацию скажем GPIO_Init чтобы убедится что она будет выполняться явно дольше GPIOB->CRL |= (GPIO_CRL_MODE5_0 | GPIO_CRL_CNF5_0); Хотя бы потому что в ней много всякого понаписано. Плюс к этому работа со стеком, массивы, циклы.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Тогда я задам вопрос, который напрашивается сам собой): Как тогда в цикле сделать инициализацию пинов 5,6,7,8 в таком стиле GPIOB->CRL |= (GPIO_CRL_MODE5_0 | GPIO_CRL_CNF5_0); И что самое забавное, учесть, что пины могут быть на разных портах))
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Получить универсальную запись в явном виде нельзя. Но это можно сделать через работу с указателями на регистры портов, чем собственно и занимаются функции внутри stdperiph gpio. Если посмотреть на карту памяти чипов и карту регистров, то можно увидеть что: 1. Блоки портов находятся по фиксированным для данного устройства адресам. 2. Блоки имеют одинаковое смещение друг относительно друга. 3. Биты в конфигурационных регистрах идентичны и имеют одинаковые смещения. Благодаря этому можно построить достаточно простой алгоритм конфигурации, который можно перебирать в цикле. Например обращение к конфигурационным регистрам портов по номерам:
Но я не знаю зачем это может так сильно понадобится. Ведь конфигурация портов определяется схемой и печатной платой устройства, что изменяются довольно редко. Следовательно, хранить конфигурацию в виде массива не всегда оправдано, а с точки зрения быстродейсвия даже вредно.
но сам вызов я не стал зацикливать, а расписал 4 строками, потому что если в цикле, выполняется за 25 мкс, а если просто расписать 4 строками, то 5 мкс))
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения