Нет, сам не выставляется. Бит MPCM должена устанавливать и очищать сама программа.
Смысл в следующем: устанавливаете этот бит и ждете прерывания от УАРТа (или просто ждете приема символа). Пока по шине не пройдет байт адреса (с выставленным старшим битом), УАРТ ничего не примет. Приняли байт адреса, сравнили со своим адресом, если совпал - очищаете бит MPCM и дальше принимаете весь пакет данных - фиксированной длины или переменной, но тогда в начале пакета должна быть обозначена его полная длина. Приняли пакет данных, опять установили бит MPCM и ждете следующего приема байта.
В процессе приема можно контролировать принимаемые данные на установленный старший бит в очередном принятом байте - флаг RXB8 в регистре UCSRB. Если установлен - значит пришел байт адреса, следовательно по каким-то причинам принят не весь пакет данных. Тогда действуете как Вам удобнее - или сразу сравниваете пришедший адрес со своим и далее как описывалось, или рапортуете хосту об ошибке...
Цитата
MPCM сбрасывается автоматом только при получении адресного байта (т.е. байта с установленным 9-м битом)
Где описано такое поведение этого флага?