Цитата(Rom20 @ Feb 25 2010, 07:33)

<<<<<вот в этом месте МК в порт ни чего не выкидывает хотя по логике должен выкинуть 0й елемент массива
Если действительно "ничего не выкидывает" - значит вы либо не доходите до этого места, либо в этот момент UDR занят передачей. Вы ведь не проверяете его готовность по флагу UDRE. Вполне возможно, что он занят передачей из прерывания.
Массив тут ни при чем - если бы вы получали что-то не то - тогда надо было бы искать в массиве.
А вот тут вы передаете 0x0D дважды:
Код
UDR=a[i];
if (a[i]==0x0D)
{
UDR='\r';