Делаю сеть rs-485 и напоролся на такой странный глюк (пока только в Протеусе, но в железе тоже не работает как надо)... Есть две штуки ATTINY2313 соединенных по USART с помощью MAX487. Есть две такие функции:
Настройки обоих контроллеров полностью идентичны, однако при посылке с первого байта 0x0A, на втором читаем 0x10A, то есть как будто помимо байта посылается еще девятый бит (естественно отключен при настройке USART на обоих МК). MAX487 в этом не виноват (пробовал и без него, напрямую - тоже самое). Пробовал обнулять бит RXB8 регистра UCSRB. При отладке в Протеусе установлено, что девятый бит появляется именно на приемнике, т.к. с передатчика данные уходят корректно... Совсем я что-то запутался, может быть кто-нибудь уже сталкивался с подобным поведением USART'a у тиньки?
Разорбрался.. Проблема была в различии архитектур UART в 90s2313 и tiny2313. Переконфигурировал проект получателя и все забегало, спасибо всем ответившим!