Вопрос. Зачем писать на std periph, если оно заметно тормозит дело. Я понимаю что счёт на микросекунды это ерунда, но хочется понять идеальные условия. Время замерял, включив отладку в Keil и шагая по коду построчно.
Мы так и не поняли в чём проблема открыть и посмотреть реализацию скажем GPIO_Init чтобы убедится что она будет выполняться явно дольше GPIOB->CRL |= (GPIO_CRL_MODE5_0 | GPIO_CRL_CNF5_0); Хотя бы потому что в ней много всякого понаписано. Плюс к этому работа со стеком, массивы, циклы.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Тогда я задам вопрос, который напрашивается сам собой): Как тогда в цикле сделать инициализацию пинов 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 мкс))
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения