Руки опускаются, не знаю что сделать еще.
Делаю связку UART-USB, ATmega8+FT232RL.
Пока впаял FTDI, определился в системе, драйвера поставил, шлет и вроде даже принимает.
Впаял контроллер. Шлю простой счетчик по UART 0, 1 .. 255, 0, 1 и т.д. Хотел проверить все ли работает, прежде чем напаивать остальное.
Для визуального контроля диодиком мигаю.
Код простейший (генерил в CVAVR, остальное показывать нет смысла):
- Код:
while (1)
{
// Place your code here
delay_ms(500);
PORTC.5=PORTC.5^1;
i++;
putchar(i);
};
Как видно мигаю диодиком и шлю байты.
Схема тут
Напаял только FTDI со всей обвязкой, контроллер только кварц и reset подтянул.
МК прошивается, с этим все в порядке.
Через некоторое время (5-15 сек) диодик начинает мигать неровно, а то и вовсе повисает зажженным или выключенным. Затем снова мигает как ни в чем не бывало. Вот что ловлю в терминале (напоминаю, должен быть счетчик):
127 12 13 14 15 1 2 3 23 24 25 26 27 28 29 30 31 32 33 34 35 36 0 54 55 56 57 58 59 60 61 62 63 64 65 66 1 2 3 4 0 22 23 23 24 25 26 27 28 1 2 3 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 240 241 241 240 240 241 241 242 242 243 251 242 250 243 243 250 240 241 241 240 240 249 241 242 242 243 243 242 242 243 243 244 244 245 245 244 244 249
Вроде считает, но постоянно сбрасывается, останавливается. А бывает выдаст сразу полсотни нулевых байтов.
Питание от USB, завтра проверю от БП. Хотя вряд ли в этом дело.
Паял аккуратно, дорожки не контачат, прозванивал, замерял сопротивления.
Питание не проседает, во всяком случае держал тестер как раз во время очередного зависания - не заметил каких-либо отклонений.
Экран разъема USB припаял к земле. Кто-то через резистор и кондер подводит, но я как-то не думал что это важно.
До этого сгорел кондер 4,7 мкф на питании, прям задымился. Не знаю чтобы это значило.
Зависала у кого-нибудь мега8 или что-то похожее?