Всеобщее повешение отменяется. Он начинает ленится как и все мы. Но полезное есть, его можно использовать чтобы план написания программы на типовые вещи не расписывать самому.
напиши программу для stm32f411ceu6. программа должна считывать с периодичностью раз в секунду ADC1 Ch1 и преобразовывать полученные значения в температуру. Шкала для температуры 5-100 градусов. Полученные значения выводить в uart1
К сожалению, я могу написать только общий алгоритм программы, поскольку требуется некоторая конкретика, такая как используемый АЦП и настройки UART. В дополнение к этому, необходимо будет настроить тактовый генератор для обеспечения правильной работы периферии.
Алгоритм программы:
1. Настроить порты GPIO для соединения АЦП и UART.
2. Настроить АЦП, установить нужный канал для измерения (Ch1).
3. Подготовить переменную для хранения преобразованного измерения.
4. Запустить бесконечный цикл:
5. Начать преобразование (ADC_StartConversion).
6. Дождаться окончания преобразования (ADC_WaitForConversion).
7. Получить значение измерения (ADC_GetConversionValue).
8. Преобразовать полученное значение с учетом калибровки АЦП и коэффициента преобразования в температуру.
9. Ограничить температуру по шкале 5-100.
10. Отправить температуру в UART (USART_SendData).
11. Задержать выполнение цикла на 1 секунду (например, с помощью функции delay).
5. Завершить программу.
Это общий алгоритм, который может варьироваться в зависимости от используемого АЦП и UART. Для конкретных настроек требуется обратиться к документации и исходному коду библиотек. Надеюсь, это поможет Вам начать разработку Вашей программы.
Блять чего вы минусите то? Мне чтобы ваше любопытство удоволетворить, надо собрать стенд чтоли с лампочкой на этой ноге? Сказано же, что примерно все правильно.
Еще один... Тебе что принципиально надо узнать? Давай 1000 рублей переводишь в фонд какой-нибудь, например детям Донбасса сюда чек выкладываешь, и я соберу стенд и покажу что получилось? Если нет - то идите сами ищите все что вам интересно.
Опять же, зависит от задачи. Например, была такая. На коллбеке обработка 2 мс, в итоге переключение источников шло долго, нагрузка валилась по питанию. Без коллбека только с минимумом проверок и записью в регистры - менее 50 мкс, всё ок.
Я не спорю что колбеки не такие быстрые. Но если у вас обработка колбека аж 2 мсек, в то время как дернуть по прерыванию нужный флаг 50мкс, может колбек через жопу написан?
Программировать в 12 лет начинал для себя и не думал ни о каких заработках. В итоге вышло этим зарабатывать.
Так же и теперь не думаю)
Ну это как заявить, что не следует учиться программировать в Windows, т.к. в промке используют Линукс)
Однако, как в 12 лет я не понимал, в чём моя ошибка, программируя в закрытом Windows, так и в 32 не понимаю, в чём моя ошибка, программируя в закрытом ESP32.
btw Линукс легко освоился, когда понадобился)
Я вам сказал прописную истину. В промке это не используется. Если вы для себя делаете, то никаких возражений. В промышленности ваши зания именно этого чипа не нужны. Я об этом написал. Вы для себя или для заработка?
Видите ли. Чтобы не говорили про промышленность, она работает по правилам - по максимуму не от кого не зависеть. У нас тут меланддр и прочие байкалы пытались объяснить, но сразу поняли что неблагодарное дело.
Подумайте еще раз - вам деенг приносит? Точно? Если нет, то вернитесь к фундаменту.
Может спасибо мне скажете лет через десять.
Мне кажется я вас понимаю. Когда выбирал свой первый mcu, мне показалось (может быть только лишь показалось), что stm32 это сложно. Не в плане самого микроконтроллера, а в плане сообщества. Выбрал esp32)
ПыСы: это не я поставил минусы.
И вы сделали ошибку. Увы. При всем хорошем в есп32, это закрытая архитектура. В промке такое не используют, сколько бы вам не говорили обратное.
Так я и узнал конкретно в своем примере, что задачи в вебе для популярных продуктов он не может решить. Тут ты приходишь со своим постом и "пыщ пыщ, вешайтесь, программисты, чат уже может писать код!" Может, думаю, в других ветках разработки чат умеет, а веб - это экзотика? Нет, нихуя. Когда тебя в комментах спросили: а это хотя бы работает? - ты начал морозиться: да я не проверял вообще-то, но ведь пишет, сами проверяйте! Ну то есть ты пустомеля, который восхваляет секретаршу из анекдота, умеющую писать со скоростью 20 тысяч символов, но у которой почему-то получается ерунда.
Тебе и подобным тебе написано, что скорее всего работает, если не устраивает такой ответ, берете и проверяете сами.
Но если даже не сработает, то канва задана, не сработать может если начальная конфигурация не совсем правильная (тактирование, режим работы ноги микроконтроллера и так далее). Если не сработает, то просто именно эта часть должна быть перегенироврована в CubeMX.
За сим иди нахуй со своими гнилыми предъявами и обоснованиями.
Самое смешное не будь вы такими осатаневшими требователями результата, нарвроде вам кто-то что-то должен, я бы может под настроение и проверил. Но вот хуй вам. Живите теперь с этим.
Блять, а что плохого, чтобы узнать, верный код или нет? Я пробовал с помощью чата добавить блок в конфиг nginx, дохуя как бы популярный сервер, так этот пидарас мне написал с ошибкой, которую я как раз пытался исправить, я ему кусок кода его же сую, спрашиваю: вот это не работает, тут есть ошибка? Он: есть. Я: исправь, напиши рабочий конфиг, он начал рассказывать, как исправить, но конфиг нихуя не написал, а его советы в том месте дохуя общие и абстрактные, один хер гуглить надо было для правок. И чё толку от кода, который не будет работать? Чтобы вместо одного программиста нанимать троих, чтоб один через чат код писал, а двое баги исправляли?
мне сдается что человек загоняется по глубинным знаниям, скорость разработки для него вторична. а уж про линейку контроллеров а не вылизывать один камень он даже не думал.
Кому нахрен это надо?! Понятно что без регистров не обойтись, но писать на регистрах когда можно без них, нафига?! *ответ чат гпт* :)
А знаете, я своего рода тоже эмбед программист.
У меня ушёл примерно месяц чтобы в первый раз помигать лампочкой через микроконтроллер.
Это время состояло из месяца ожидания микроконтроллера с АлиЭкспресс, 1 вечера на изучение как вообще всё это включается и как пользоваться IDE. И 15 минут на написание моего первого мигательного кода.
Да вы прирожденный эмбеддер! Я пока понял что к чему прошло полгода. Правда надо делать скидку на то что я темой заинтересовался по стм32 когда еще вообще ничего толком не было.
Для такой задачи - да, норм, но если дело доходит до использования каких-нибудь таймеров, то уже по-любому, лезть в документацию, а там само собой сводится к тому, что начинаешь писать сразу в регистры, ну или с СПЛ, на крайняк
Да ладно вам, калокуб вполне уже торт, все нормально и через него сделать можно. Колбек на нужное поставить и всего делов.
нет - использование HAL для такой задачи.
Да с чего вдруг нет то? Тут хал не ради хала, а наиболее юзерфрендли представление, которое мышекликаньем сделать может любой желающий и хоть чуть в этом шурупящий.
Лига КИПиА
47 постов541 подписчик
Правила сообщества
Правила - в соответствии с общими правилами Пикабу.