Пт ноя 22, 2019 13:20:04
Пт ноя 22, 2019 17:39:54
Пт ноя 22, 2019 18:21:39
Пт ноя 22, 2019 21:34:43
Пт ноя 22, 2019 21:49:15
Пт ноя 22, 2019 23:04:10
Так я же написал.astrahard писал(а):Чушь Вы говорите. У меня прерывание вызывается с частотой 31 Килогерц, слушаете?
Мурик писал(а):В данном случае передача не непрерывного потока.
Не учитываете такты затраченные на вход и выход с прерывания, сохранение регистров в стеке, извлечение данных из массива и т. д.astrahard писал(а):Запись в регистр один такт.
Этот байт должен откуда-то взяться. Конечно если передавать что-то типа UDR=0; это потребует мало времени но больше такта. Данные нужно поместить в регистр процессора, а затем из него в регистр данных UART. Это как минимум 2 такта при передаче только одного и того-же значения, а не требуемых данных.astrahard писал(а):Чтобы отправить байт нужно просто загрузить его в регистр данных UART.
Как МК определит что прошли 8 мкс?astrahard писал(а):А уверенность в том что очередная передача окончена придет сама через время 8 микросекунд
Посмотрите ассемблерный код, генерируемый из сишного и может поймете что тактов требуется гораздо больше чем вы думаете.astrahard писал(а):адрес его в оперативной памяти мне будет заранее известен.
Потеря данных допустима? Если да и даже значительный потерянный объем не критичен, то сойдет.astrahard писал(а):И проверять не нужно статус.
Нет, это знание работы МК на уровне ассемблера... Я представляю примерно какой будет ассемблерный код при компиляции сишного и на основе этого пишу.astrahard писал(а):Вот что значит увлечение всякими драйверами и ОС!!!!
На Си она не работает. Она работает на машинном коде.astrahard писал(а):Вы не представляете как работает голая аппаратура под С.
Сб ноя 23, 2019 19:39:23
Вс ноя 24, 2019 13:27:24