нестандартная скорость Serial.begin()
- Войдите на сайт для отправки комментариев
Чт, 16/08/2018 - 09:52
здравствуйте.
есть необходимость в нестандартной скорости сериал. находил информацию как менять на програмном юурт (SoftwareSerial), а вот как это сделать со "стандартным" ничего не нашел. не нашел и решил просто в скетче написать Serial.begin(10400); и к удивлению ничего не ругнулось. проверил еще на сторонней программе что-то попередавать, вроде все работает.
вопрос, функция Serial.begin() может работать на нестандартных скоростями без каких либоманипуляций?!
Может на любых (в пределах разумного)
Может на любых (в пределах разумного)
спасибо. буду знать)
а еще не подскажите, чем можно заменить библиотеку SoftwareSerial для использования програмного юарт на атмеге8?
Может на любых (в пределах разумного)
а что подрозумиваетется под пределом?
Скорость света.
А! ну да такого я б не додумался)))
я думал, может там какой-то кратности должна соответствовать или еше какие-то правила и ограничения.
Скорость света.
Ну это если только в передаче. И то стоит уточнить в какой среде :)
А аппаратно скорость ограничена тактовой частотой процессора. При этом стоит учитывать, что для "дерганья" ножек ему нужно выполнить 2-4 операции. Далее если операции выполняются за 1 такт, то ограничение - тактовая частота разделить на 2-4.
Кроме верхнего предела есть ещё нюанс с точностью. Не всякая частота ровно поделится, не всякая частота ровно получится. Поэтому в промышленных девайсах иногда ставят извращенские кварцы на 9.126 МГц. Нужно иметь это в виду, хотя и сильно переживать из-за этого не стоит - UART терпит несовпадение скорости до определённого предела.
Кроме верхнего предела есть ещё нюанс с точностью. Не всякая частота ровно поделится, не всякая частота ровно получится. Поэтому в промышленных девайсах иногда ставят извращенские кварцы на 9.126 МГц. Нужно иметь это в виду, хотя и сильно переживать из-за этого не стоит - UART терпит несовпадение скорости до определённого предела.
частота 8 или 16МГц, скорость 10400, смотрел на онлайнкалькуляторе, вроде незначительное отклонение.