Видов микроконтроллеров, периферии, подключаемых устройств, протоколов и интерфейсов настолько огромное количество, что создать что-то универсальное просто невозможно, но качество разработки у вас на высоте, могу заметить.
Писал я в НИИЭТ, хотелось МК их топовый с 200 МГц частотой, но сроки поставок там конечно невероятные. А могли полетный контроллер сделать на его основе.
Я бы посоветовал создавать проекты для микронтроллеров с помощью CMake, т.е. без привязки к какой-то определенной IDE или редактору. Отладка - OpenOCD. В VSCode, Eclipse всё это прекрасно работает, есть всякие удобные плагины. Может напишу как-нибудь небольшой туториал по связке CMake + VSCode + OpenOCD, так как я сам себе настроил.
Могу высказать гипотезу как тестировать инициализацию и работы периферии в микроконтроллерах ARM.
Как всё работает с реальным железом?
Для того чтобы настроить какой-либо периферийный модуль, нужно записать байты в определенные регистры, которые лежат в памяти по определенному адресу. Чтобы иметь доступ к ним, над ними созданы структуры (например CAN_TypeDef, список которых можно найти в заголовочном файле от вендора.
В таком файле есть такая запись как правило:
#define CAN1 ((CAN_TypeDef *) CAN1_BASE)
т.е. какой-то адрес в памяти приводится к указателю на структуру, а потом по этому указателю осуществляется доступ к регистрам периферийного модуля.
Собственно идея: в тесте создать свой собственный экземпляр структуры CAN_TypeDef. Имея некоторые эталонные значения регистров, их можно сравнивать с тем, что получилось при инициализации в нашей тестовой структуре. Сам такое ещё не пробовал, потому что такой подход подразумевает собой какие-то ненормальные трудозатраты.
Скорее всего там платное образование, а "резервистам" возможно дают льготы или вообще без берут без денег, поэтому любому с улицы невозможно поступить.
Рамиль, вы такой же пролетарий, как и ваши работники. Вы не владеете средствами производства, вы создаете прибавочную стоимость на средствах производства вашего заказчика для него же.
Феодальные кланы в Японии, Кореи и некоторых арабских стран с вами не согласятся. Нормально живётся общинным строям. В вашем представлении мысли влияют на экономику, а не наоборот?
Как подключать провода к этим штыревым разъёмам? Паять ответную часть можно только на провода определенного диаметра. Советую просто клемммники под винт или с защёлкой. Тип такого
Этот YaGPT запустили, чтобы народ браузер яндекса скачивал, а не для того чтобы технологии двигать.
То, что BG3 похожа на Divinity это только плюс.
На алике Samsung 980 Pro на 1Тб стоит примерно 8к, что соотвествует 100$, что есть в таблице. Так что вроде правильно все указано.
Пусть рассказывает что делал.
Может стоит прекратить мучить 103ю серию?) Есть же STMки поновей.
Видов микроконтроллеров, периферии, подключаемых устройств, протоколов и интерфейсов настолько огромное количество, что создать что-то универсальное просто невозможно, но качество разработки у вас на высоте, могу заметить.
Да, рассматривали возможность импотозамещения.
Писал я в НИИЭТ, хотелось МК их топовый с 200 МГц частотой, но сроки поставок там конечно невероятные. А могли полетный контроллер сделать на его основе.
"Индустриальные дроны" занимаются похожей тематикой. Довольно успешно - летает, поливает.
https://indrones.ru/
Я бы посоветовал создавать проекты для микронтроллеров с помощью CMake, т.е. без привязки к какой-то определенной IDE или редактору. Отладка - OpenOCD. В VSCode, Eclipse всё это прекрасно работает, есть всякие удобные плагины. Может напишу как-нибудь небольшой туториал по связке CMake + VSCode + OpenOCD, так как я сам себе настроил.
Могу высказать гипотезу как тестировать инициализацию и работы периферии в микроконтроллерах ARM.
Как всё работает с реальным железом?
Для того чтобы настроить какой-либо периферийный модуль, нужно записать байты в определенные регистры, которые лежат в памяти по определенному адресу. Чтобы иметь доступ к ним, над ними созданы структуры (например CAN_TypeDef, список которых можно найти в заголовочном файле от вендора.
В таком файле есть такая запись как правило:
т.е. какой-то адрес в памяти приводится к указателю на структуру, а потом по этому указателю осуществляется доступ к регистрам периферийного модуля.
Собственно идея: в тесте создать свой собственный экземпляр структуры CAN_TypeDef. Имея некоторые эталонные значения регистров, их можно сравнивать с тем, что получилось при инициализации в нашей тестовой структуре. Сам такое ещё не пробовал, потому что такой подход подразумевает собой какие-то ненормальные трудозатраты.
Думаю дело в экономике в целом, а не в мётлах или
Скорее всего там платное образование, а "резервистам" возможно дают льготы или вообще без берут без денег, поэтому любому с улицы невозможно поступить.
Этот пример выводит цифру 1.
Наоборот:
конечно не получается. Но вы то пишите о том, что это в обе стороны не работает. Я же добавил, что enum class нужен, чтобы этого достичь.
Вроде как в C++ тоже так происходит. Для обхода такого свойства используется:
C++11 позволяет ещё делать перечисления с типом, что избавляет от постоянного использования конструкции приведения типов:
Рамиль, вы такой же пролетарий, как и ваши работники. Вы не владеете средствами производства, вы создаете прибавочную стоимость на средствах производства вашего заказчика для него же.
Скорее "Rust с 0 до 0% для JavaScript разработчиков".
Феодальные кланы в Японии, Кореи и некоторых арабских стран с вами не согласятся. Нормально живётся общинным строям. В вашем представлении мысли влияют на экономику, а не наоборот?