> 9600 бод для UART AVR = 12000 бит/сек или ни так я считаю?
Непраильно считаете естессно.. На физическом уровне УАРТа боды равны бит/сек. Т.к. за одно переключение передается один бит. На канальном же уровне передаваемыми битами считаются только биты полезной информации. И здесь скорость в бит/сек всегда будет меньше чем скорость в бодах, т.к. бит передается меньше чем максимально возможное число переключений в линии, требуемое для передачи бит полезной информации.
Примеры: Скорость 9600 бод - говорит о том, что максимально возможное количество изменений состояния канала - 9600 раз в секунду.
Если настроить УАРТ как 8-N-1, то объем фрейма будет 10 переключений (заметьте специально пишу не бит, а именно переключений), где 8 переключений будет отведено под биты данных, а 2 для служебных целей, следовательно скорость в бит/сек будет:
9600 бод * (8/10)бит/переключений = 7680бит/сек
Если же настроить УАРТ как 7-N-2, то во фрейме будет те же 10 переключений, однако из них служебными будут уже 3, а полезными - 7, скорость в бит/сек будет такой:
9600 бод * (7/10)бит/переключений = 6720 бит/сек.
И т.д.
|