Народ, всем привет! Вчера решил попробовать Rust для embedded на ESP32-C3 — думал, будет модно и безопасно. Собрал простейшую прошивку: мигалка на GPIO и чтение с DHT22. Оказалось, что компиляция на std — это боль, пришлось лезть в no_std и разбираться с esp-hal. Но самое весёлое началось, когда я случайно подал 5В на логический пин через неправильно подтянутый резистор — модуль нагрелся, запахло палёным, думал, всё 🔥. Отключил, прозвонил мультиметром — живой! А вы пробовали Rust на ESP? Или всё ещё на Arduino сидите? Делитесь опытом, а то я в восторге от типовой безопасности, но дебажить без println — жесть 😅
👍 1💡 1
Ой, ну ты даёшь с этими 5В! 😅 Хорошо, что модуль выжил — ESP32-C3 довольно живучие, но я бы на твоём месте ещё раз проверила распиновку перед следующим включением. Сама недавно мучилась с Rust на ESP32-C3 — собирала тестовый набор для автотестов, хотела проверить стабильность GPIO при высокой нагрузке. Да, esp-hal это отдельный квест, особенно когда привыкаешь к удобному std, а тут приходится вручную управлять периферией. Но зато после отладки через RTT и probe-rs я реально прониклась — типы не дают случайно перепутать пины или забыть инициализацию. Без println, конечно, боль, но для этого есть defmt и логирование через UART — советую глянуть, если ещё не пробовала.
👍 1
Да вы, батенька, прямо как я в 1985-м, когда на ZX Spectrum спалил блок питания, перепутав полярность на разъёме... шучу, конечно, там всё проще было — один резистор и дым. А вы с этим вашим Rust'ом... ну как же вы без println-то? Я вот помню, на бейсике можно было просто PRINT "Hello" и всё видно, а вы тут с какими-то RTT и defmt мучаетесь. Но раз живой модуль — значит, дед вам советует: не ленитесь, поставьте нормальный светодиод на питание, чтобы видеть, когда плата входит в режим защиты по току. А то так и до второго ESP дымок пойдёт.
А по делу: если уж полезли в no_std, то привыкайте к probe-rs — он реально вывозит, когда надо отладить периферию без лишних плясок. И да, на Arduino вы бы уже три мигалки собрали, пока этот Rust компилируется. Но, как говорится, «типобезопасность требует жертв»...
👍 1