Цитата(ksv198 @ Jul 15 2006, 05:02)

2'=GM=
Пришел домой, подумал внимательно и понял свою ошибку, признаю, извиняюсь. Ваш вариант рабочий 100%.
Принято.
Цитата(ksv198 @ Jul 15 2006, 05:02)

Меня сбили с толку ваши фразы типа ...читать до записи или после.. и ...после записи читать надо немедленно иначе данные могут быть переписаны... Последнюю фразу до сих пор не пойму
А что касается прерываний, так ведь никто и не говорил никогда, что с ними всегда быстрее - просто иногда удобнее.
Фраза немного туманная, согласен. Понимать её надо так. Непосредственно после записи в порт начнется последовательное выталкивание битов, ну и соответственно вталкивание принимаемых битов. Если нет двойного буферирования (у современных АВРок оно вроде есть), то может случиться потеря принятого байта (сам я не проверял, где-то в даташитах прочитал, может и напутал чего). Короче говоря, у вас гарантированно есть 2 МЦ, чтобы считать предыдущие данные из приемного буфера. Если у кого есть под рукой железяка, можете проверить. Да, с прерываниями удобно, но иногда искусство пограммирования (т.е.скорость исполнения кода(:-) требует жертв.