похоже что макс действительно сдох, заменил его на max2323CPE...
Ген, забил твою программу... правда я её через программерс нотепад открывал(ну через прогу winavr).
Откомпилировалась нормально... Зашил в МК её.. Потом открыл прогу через которую отправляю символ на МК...Картинка ниже.
1- устанавливаем соединение.
2- скорость
3- это то что приходит( видимо цикл while работает)
4- кнопка, если её нажать то она отправляет на МК символ, как видно я её не нажимал, так как поле ниже пустое...
Почему абракадабра такая приходит просто так?
Ђ это в ascii 80 в шестнадцатеричной системе.
Я сейчас немного main поменял.
CODE
int main(void)
{
initcpu();
// Global enable interrupts
sei();
// SendStr("Hello!");
while (1)
{
SendStr("1");
/* if (UCSRA & 0x80) //Если UART принял символ от ПК,...
{
unsigned char c;
c = UDR;
switch © //Анализируем символ и выводим соответствующую
{ //строку через UART
case '0': SendStr("char = 0"); break;
case '1': SendStr("char = 1"); break;
case '2': SendStr("char = 2"); break;
case '3': SendStr("char = 3"); break;
case '4': SendStr("char = 4"); break;
case '5': SendStr("char = 5"); break;
case '6': SendStr("char = 6"); break;
case '7': SendStr("char = 7"); break;
case '8': SendStr("char = 8"); break;
case '9': SendStr ("char = 9"); break;
default: SendStr("char is not digit"); break;
}
}*/
}
return 0;
}
затем поменял
SendStr("1");
на
SendStr("2");
но результат все равно такой же... немного не ясно где копаться? Может железяку не так подключил.
потом совсем... заменил
Код
void SendStr(const char *s)
{
// qputchar(0x0D); //Добавляем в конец очереди символы
// qputchar(0x0A); // возврата каретки и переноса строки. Просматриваем строку и помещаем в очередь символы.
qputchar(0x77);
// while (*s)
// qputchar(* s ++);
}
но все равно результат такой же...
Сообщение отредактировал IgorKossak - Aug 30 2011, 17:56
Причина редактирования: [codebox]
Эскизы прикрепленных изображений