Всё понимаю, кроме "перегрузить МК". У вас на нём windows, что его перегружать надо?
Ну, то есть, вы не представляете себе ситуации, когда контроллер надо сбросить нажатием одной кнопки, предварительно не сворачивая приложение (игру) и не отключая (а потом - снова включая) соединение в OpenTrack? Я вот с таким сталкивался.
До того, как начать изучать STM, я сделал самопальный трекер на ардуине нано. Он прекрасно справлялся со сбросом в процессе работы (обмен начинался опять, OpenTrack не зависал). Взявшись за STM, я решил повторить трекер на новом МК, ибо это обещало быть интересным в плане обучения(I2C, FLASH, прерывания таймера, аппаратный USB). И вот, столкнулся с описанной проблемой.
Мой вопрос заключается в том, можно ли вообще такое реализовать на STM. И если можно, то как. Ежели таки нельзя (а у меня стойкие подозрения, что таки можно), то буду думать, каким путем идти в обход.
Елы палы, у вас на ардунье был отдельный чип, который отвечал за USB. Похоже, вы сбрасывали контроллер, но не сбрасывали CH340G. Связь по USB не прерывалась. На STM вы разрываете USB-соединение когда ресет нажимаете.
Мда, не "догнал". Похоже на правду. При нажатии кнопки CH340G продолжал общение с хостом, так как питание на него было подано, а нога сброса на нем, если верить схеме нано, "висит в воздухе". При сбросе по питанию ардуина тоже глохла намертво, НЯП. Также приходилось останавливать обмен, перезагружать кнопкой и стартовать. К сожалению, нет ардуины под рукой, чтобы проверить... Но все логично.
Спасибо.
Выходом будет, пожалуй, только "имитация" сброса МК, в виде сброса в ноль части переменных и сброса центровки трекера. Ну, или повесить что-то вроде CH340G на USART STM-ке (что правильнее, так как тогда можно будет "безопасно" рестартить МК "по-настоящему").
Если вернуть жесткую подтяжку Data+ к +3.3В через резистор, то хост не заметит, что устройство при сбросе отключилось от шины. Может, это можно как-то использовать?
Если вернуть жесткую подтяжку Data+ к +3.3В через резистор, то хост не заметит, что устройство при сбросе отключилось от шины. Может, это можно как-то использовать?
Если где-то сохранить адрес, полученный при энумерации, то можно попробовать установить нужную конфигурацию порта после перезагрузки. Скорее всего даже будет срабатывать, через раз.
И всё же, зачем ресетить контроллер? Что делает ресет, чего нельзя сделать просто реагируя на внешнее воздействие на любую ногу? Что-то в консерватории надо менять!
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения