Цитата(sbw @ Dec 18 2007, 14:53)

Стоит задача реализовать софтово COM-порт (только передачу) на Тини13. Столкнулся с тем, что не смотря на автозагрузку заводского калибровочного байта, некоторые процессоры выдают такую частоту в ком-порт, какую компьютер не принимает. То есть с одного прошитого процессора данные в терминалке на экран выводятся, а с другого - нет, или не все, или с мусором.
По даташиту точность заводской калибровки - порядка 10%, видимо этого недостаточно.
В аппнотах описана процедура калибровки с подачей внешней частоты 32кгц, но не понимаю, как это применить к авреалу
Для 10-битных пакетов точность разности частот приёмника и передатчика должна быть не хуже ±(0,5/9,5)=0,053 т.е. порядка ±5%.
Если у вас есть точные 32 КГц, то можно применить алгоритм измерения частоты, только оценивать не входную частоту 32 кГц, а тактовую частоту процессора, думаю 10-50 мс должно хватить на оценку. Ну а зная тактовую, можно настроить длительность одного бита.
Как вариант, можно ещё посылать с ПК байт 0х55 время от времени и по длительности нуля и единицы также оценивать тактовую частоту проца.