Цитата(Oleg_IT @ Dec 16 2005, 11:54)

Начал работать с мультипроцессорным обменом, для начала использую два МК. Написал программку, работает, но как-то странно.
Передаю следующий массив
char BuffTx[] = {0x55,AdrTo,0x23,0xCC,0x**,0xAA};
0x55 – преамбула
AdrTo – число, адрес МК куда посылаю, девятый бит 1.
0xCC – конец массива. По приёму этого байта подчинённый МК ставит флаг «приём завешён»
0x**(любой байт) и 0xAA – конец передачи для мастера. 0xAA в UART не посылается, по нему ресетится UART. Но без 0x** байт 0xCC не передаётся. Не пойму почему.
Может Ваш контроллер на стороне приема не успевет ('захлебывается') принять эту посылку. Во избежании такового необходима реализация процесса квитирования (подтверждение на готовность приема следующего байта). Она может быть реализована как аппаратная, так и программно, в зависимости от ресурсов и требований к Вашей системе.