scorpi_0n писал(а):Ой! А что это?
Ну у вас же всё наперекосяк.
Отправляем байт в DR ждём TXE=1 ждём BSY=0. Поднимаем CS если нужно. Это передача одного байта.
Отправляем байт в DR ждём TXE=1 отправляем следующий байт ждём TXE=1 отправляем следующий байт и т. д. ждём TXE=1 ждём BSY=0. Поднимаем CS если нужно. Это передача нескольких байт.
В RM же всё разрисовано. Купите логический анализатор и такие вопросы не будут возникать.
Ну-ну, анализатор в ЛНР
А в чем собственно разница?
При первой передаче TXE=1 и BSY=0, поэтому алгоритм сразу перейдёт к отправлению байта. При повторном вызове функции, если передача не закончилась, то будет ждать BSY=0 и TXE=1. Если же передача закончилась, то сразу переходим к отсылке следующего байта.
Те же яйца, только в профиль
