if (UART_Data_Ready() <> 0) then begin uart_rd:= UART_Read(); UART_Write(uart_rd); end;
if (PIND7_bit <> usb_temp) then begin usb_temp:= PIND7_bit; if (PIND7_bit = 1) then begin character:= usb_on; CustomChar(1, 16); end else begin character:= usb_off; CustomChar(1, 16); end; end; end;
Недавно тоже мучал переходник на этой микросхеме. Долго матерился, пока не подключил осцил - сигнал идёт инверсный. Т.е. Уровень "0" для стандарта +VCC , а для этой микросхемы 0. Вы шлёте данные - комп воспринимает их как старт бит. и нулевые биты в байте. Может это как то настраивается, но я просто перевернул сигнал обычными биполярниками.
Зарегистрирован: Вт май 03, 2011 18:19:53 Сообщений: 11
Рейтинг сообщения:0
в нее встроено инвертирование сигналов причем всех по стандарту RS232 я пробовал инвертировать только Rx и Tx ... па пробую инвертнуть остальные может что и выйдет .... если получится отпишусь сюда.
Ни одно устройство на связке Мега16+ФТ232РЛ и ничего подобного не было
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Зарегистрирован: Вт май 03, 2011 18:19:53 Сообщений: 11
Рейтинг сообщения:0
для проверки решил достать с полки старый интерфейс на MAX232 и получил тот же результат ... Складывается такое чувство что аппаратная часть в МК частично сдохла.......
буду признателен если выложите пару вариантов подключения из готовых(проверенных на железках) проектов.
"Выдержки" из проектов.
Вложения:
Комментарий к файлу: С гальванической развязкой Mega16_ADUM_FT232RL.JPG [77.5 KiB]
Скачиваний: 2187
Комментарий к файлу: Без гальванической развязки Mega16_FT232RL.JPG [66.91 KiB]
Скачиваний: 1469
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Глупый вопрос задам а скорости передачи и остальные настройки совпадают?
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Тактируете, надеюсь, внешним кварцем, а не от внутреннего генератора?
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Зарегистрирован: Вт май 03, 2011 18:19:53 Сообщений: 11
Рейтинг сообщения:0
кстати по поводу тактирования этот момент я немного провтыкал и дошил фьюзы после чего МК потух на веке ...... если честно то я так и не понял от чего он откинулся кварц стоит на 16Mhz конденсаторы тоже на месте тип контролера позволяет такую частоту ATMega16-16PU так что как куплю новый па пробую снова по экспериментировать.
да и кстати до того как он откинулся в одном из экспериментов когда снизил скорость USART до 110 он начал работать но с большим количеством ошибок при передаче.
Коль работаете на "нестандартном" кварце, поделюсь секретом (на всякий пожарный). В даташитах, дается формула подсчета процента ошибки при тактировании. Согласно стандарту на RS232 уход скорости передачи не должен превышать 3..5%. При тактировании нестандартными частотами ошибка быстро набегает и чем больше процент, тем меньшее число передаваемых байт приведет к срыву обмена. Рекомендации тут могут быть 2: 1) Применять кварцы с частотами 11,05892 и т.п. 2) Корректировать "уход" скорости передачи путем дополнительнительных пауз, разбив протокол передачи на фрагменты.
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
На 8 Мгц встроенного генератора UART на мегах вполне себе неплохо работает. По несколько сотен байт передаю и получаю - ещё вроде сбоев не было(тьфу тьфу) Правда скорости 2400, 9600 ,19200 - не выше. Если использовать CRC и check суммы так вообще проблем не возникнет...
Погрешность установки медленных скоростей на 8 МГц не превышает 0,2 %. Но я однажды накололся со встроенным генератором - одна плата работала как следует, а вторая слала чушь. Больше на спичках не экономлю - время дороже
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Вовремя вы эту тему подняли. Битый час сидел медитировал над кодом, срывалась передача после первых 50-60 байт из сотни. Пока не заметил, что у меня МК на макетке без кварца работает (8МГц)...
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения