Боюсь что с нуля писать его долго... и если и писать, то на аппаратных ШИМ каналах таймеров. А для этого собирать на той СТМ где они есть = Black pill (STM32F411CEU6 Core Board)
я бы посоветовал переписать с нуля. Это быстрей будет.
Поддерживаю! Буквально недавно разбирался с USB в STM'ках.Читал исходники той лапши, что Куб нагенерировал - там поседеть можно пока они через десяток переливаний одних и тех же значений из функции в функцию доберутся наконец до регистров. Кстати, до них я так и не добрался. В opencm3 чуть получше, но регистры они тоже спрятали мама не горюй. Как результат, самый вменяемый код как раз у Eddy_Em и оказался. Правда, я так и не понял как у него идет работа с EPnR и еще пара моментов, но уж такую мелочь можно и самостоятельно расковырять. Как результат пустое USB устройство из Куба весит 14 кБ, а переписанный по-человечески - 3 кБ.
Да просто все: макрос KEEP_DTOG_STAT сохраняет значение DTOG'ов и STAT'ов, а макрос KEEP_DTOG — только DTOG'ов. Дальше уже в usb_lib.c: в обработчике прерываний usb_lp_can_rx0_isr() проверяем флаги, если что-то пришло, читаем/пишем, вызываем обработчик для конкретной точки. В этих обработчиках уже и сбрасываются флаги STAT/CTR, например.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Не Мне мои больше нравятся. Более атомарные что ли. Вспомнил что меня еще в вашем коде смущало: функция wr0. Кажется, вы в прерывании ждете пока передастся посылка целиком.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
[uquote="AlanDrakes",url="/forum/viewtopic.php?p=3766801#p3766801"]Кусочек из makefile'а:...
P.S.: Это работает в linux'е. Win* система потребует всё правильно переименовать. Ну и пути, естественно. [/uquote] Подтверждаю, в каноничной XP работает. Поприседать пришлось изрядно - GD сделала "как у бабочек, только немного по другому".
_________________ Заповедь инженера #1. "Работает? Не трожь!"
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
P.S.: Это работает в linux'е. Win* система потребует всё правильно переименовать. Ну и пути, естественно. .
поставте cygwin, установите из комплекта cigwin make, и ничего менять не потребуется. правда cygwin давно уже не поддерживет winXP, но у меня в виртуалке остался. версию пишет 2016 год. 4.2.1
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения