Проблема---->
-пишу в прорт МК (например 0-ой пин порта Б ставлю в 1, диод загорается), все по датащиту. Перепробывал выводить во все порты (один фиг)...
- запусакю УАРТ на 9600 (др скорости не пробывал; все как нада делал- через прерывания; пробывал библеотеки из AVRLIB; даже во флэш писал принятые символы для того чтоб узнать на приеме или передаче искажение символа возникает искажение)
- делаю в main цикл
- Код: Выделить всё • Развернуть
while (1) {
putchar(getchar())
}
(работал даже напрямую с регистром приема/передачи, равнял их через переменную (генерировал ЭХО))
- В терминале жму любую кнопку (например 4), в ответ получаю левый символ (вместо 4 получаю <; 5 - =; 6 ->). Просек что происходит замещение какого то разряда (по ASCII таблице легко увидеть линейное смешение по таблице).
Когда с портами не работаю, передача без ошибок, все как нада- что написал - то получил. Что нибудь в порт -- каша в ЭХО.
В протеусе все работает как часы, хоть все порты забей 1цами на вывод.
Есть предположения почему так??? Точно уверен в том, не в программе косяк (выложил лишь один вариант, поразному делал...).
Информация по мк: ATMEGA8 DIP28, настроен на тактирование от внутр генератора (8мГц)