И меня не обошло сие новомодное поветрие. Нашел чат в телеграме с доступом к ChatGPT и стал думать: а что бы такое его спросить? Давайте сначала теста ради что-нибудь простенькое:
Потрясающе! Но может ли оно объяснить, что там в коде за что отвечает?
Обалдеть. Оно почти понимает. А вот интересно, оно умеет только стандартный Си?
Однако. Оно умеет под STM32, причем самым пионерским ардуиновским способом - считая такты процессора. Но, тем не менее, под SPL. Умеет ли оно использовать таймер?
Так, и что мы видим? Мы видим, что инициализировать таймер оно умеет. И с правильными значениями. Но в процедуре прерывания оно не использует! И вместо этого вводит дополнительную процедуру, считающую такты процессора.
Таймер же оно использует, чтобы сделать задержку в 1 секунду в главном цикле! Напоминает известный анекдот: как вскипятить пустой чайник? налить воду и поставить на огонь. а если в чайнике уже есть вода? Вылить и тем самым свести условия задачи к предыдущему :) Возможно, робот неправильно меня понял :)
Охренеть. Во-первых, используется совсем другой метод - через флаг, устанавливаемый в прерывании. В самом прерывании оно не захотело вставлять команду переключения выхода. Во-вторых, все-таки необходимо было конкретизировать.
Вердикт - человек пока что пишет программы под STM32 лучше этой штуки. Но эта штука пишет уже лучше ардуиновского пионера. Где-то и такой подход сойдет.