Re: Стабилизированный регулятор на базе Arduino с управлением через UART
Изменение программы регулятора.
----------
Предпосылки.
Ввиду того, что программа регулятора написана на asm-е и к скачиванию предлагается уже готовый HEX-файл,
возникают трудности с прошивкой контроллера.
Ибо нужен отдельный ISP-программатор, а это для многих лишнее да ещё и отсутствующее в наличии устройство в хозяйстве.
----------
Реализация.
Так как у ардуины есть USB-порт, то есть смысл использовать его для загрузки программы.
Сказано - сделано.
Берем XLoader, заливаем с его помощью в контроллер прошивку.
Можно gcUploader, тоже годится.
И...
Авотхрен, не работает.
Гадский встроенный загрузчик, оказывается, не полностью отдает управление загруженной программе.
Этот негодяй оставляет в своём ведении некоторые векторы прерываний.
В частности прерывания таймера 1 и UART, если кому интересно.
А они используются в регуляторе и критичны.
Непорядок.
Посему программа была модифицирована и теперь первым делом отнимает у загрузчика все права на прерывания.
----------
Итого.
Работает теперь так.
По сбросу/включению.
1. Работает загрузчик некоторое время, за это время можно попросить его поменять прошивку на что-нибудь другое, на "блинк", например.
2. Передает управление программе регулятора.
3. Программа регулятор переназначает на себя все прерывания.
4. Работает, как описывалось ранее.
----------
Ссылка для скачивания прошивки:
https://github.com/kvic68/PhaseRegulator/tree/main/Soft
----------
На всякий случай ссылки на
XLoader:
https://drive.google.com/open?id=1J4C7m … YqzojvcYUT
gcUploader:
https://drive.google.com/open?id=1KtdBN … unEBeP-pTk
----------
Описания этих программ можно посмотреть здесь:
http://www.getchip.net/posts/104-proshi … ootloader/
http://www.getchip.net/posts/136-gc-upl … a-arduino/