"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
Так я же написал.astrahard писал(а):Чушь Вы говорите. У меня прерывание вызывается с частотой 31 Килогерц, слушаете?
Мурик писал(а):В данном случае передача не непрерывного потока.
Не учитываете такты затраченные на вход и выход с прерывания, сохранение регистров в стеке, извлечение данных из массива и т. д.astrahard писал(а):Запись в регистр один такт.
Этот байт должен откуда-то взяться. Конечно если передавать что-то типа UDR=0; это потребует мало времени но больше такта. Данные нужно поместить в регистр процессора, а затем из него в регистр данных UART. Это как минимум 2 такта при передаче только одного и того-же значения, а не требуемых данных.astrahard писал(а):Чтобы отправить байт нужно просто загрузить его в регистр данных UART.
Как МК определит что прошли 8 мкс?astrahard писал(а):А уверенность в том что очередная передача окончена придет сама через время 8 микросекунд
Посмотрите ассемблерный код, генерируемый из сишного и может поймете что тактов требуется гораздо больше чем вы думаете.astrahard писал(а):адрес его в оперативной памяти мне будет заранее известен.
Потеря данных допустима? Если да и даже значительный потерянный объем не критичен, то сойдет.astrahard писал(а):И проверять не нужно статус.
Нет, это знание работы МК на уровне ассемблера... Я представляю примерно какой будет ассемблерный код при компиляции сишного и на основе этого пишу.astrahard писал(а):Вот что значит увлечение всякими драйверами и ОС!!!!
На Си она не работает.astrahard писал(а):Вы не представляете как работает голая аппаратура под С.