![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| Gwendolen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 5.4.2005 Репутация: нет Всего: 1 |
Добрый день.
Надо передавать данные на МК atmega16 через COM порт компьютера(!!!USB НЕ ПРЕДЛАГАТЬ, надо именно через COM) Вот схема и код WinAVR:
Проект во вложении. Проблема: при моделировании в Proteus на COM порт выдаются и принимаются искажённые данные. До max232 на терминале VT1 всё выглядит отлично. На VT2 и в программу, подключённую к COM порту, выдаются искажённые данные(одинаковые и на VT2 и в программе). В даташите max232 про конденсаторы написано, что должны быть 1,0μF, как понимаю это 10^-6F или 1000х10^10-9F. Хотя не заметил, чтобы протеус менял результаты при изменении емкости конденсаторов. Подскажите в чём ошибка. P.S. К COM порту подключаю программу Terminal v1.6b(ссылка) P.P.S. Порты к которым подключены протеус и терминал должны быть соединены нуль-модемным кабелем. Использую виртуальные, созданные com0com v2.2.2.0(ссылка). Присоединённый файл ( Кол-во скачиваний: 3 )
AVR16.zip 59,04 Kb--------------------
Наносите пользу и причиняйте добро! |
|||
|
||||
| UniBomb |
|
|||
|
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 9 Всего: 97 |
Мне кажется, что вы перепутали выводы. На R1in должент идти TxD, а на T1out соответственно RxD.
|
|||
|
||||
| Gwendolen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 5.4.2005 Репутация: нет Всего: 1 |
Насколько, я понимаю дело не в этом. В терминале и в модели порта вход/выход инвертированы.
Сначала я тоже подключал, как Вы сказали, но протеус выдавал ошибки, а на терминал и порт вообще не работали. --------------------
Наносите пользу и причиняйте добро! |
|||
|
||||
| UniBomb |
|
|||
|
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 9 Всего: 97 |
Gwendolen, инвертированы они совсем по другой причине. У RS-232 за логический "1" принимается отрицательное напряжение, а за логический "0" соответственно положительное. А так даже зрительно проследите - rx от мк соединён с RxD, а tx соответственно с TxD.
И ещё момент - вы земли точно соединили? Добавлено через 14 секунд |
|||
|
||||
| Gwendolen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 5.4.2005 Репутация: нет Всего: 1 |
Дело получается в протеусе. Вот этот вариант нормально взаимодействует с компьютерной программой:
Видно придётся моделировать без max232, а в железе его ставить... --------------------
Наносите пользу и причиняйте добро! |
|||
|
||||
| UniBomb |
|
|||
|
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 9 Всего: 97 |
Вот этот вариант никогда не пробуйте в железе. Спалите нафиг
Добавлено через 56 секунд И кстати опять rx в rx. Надо крест накрест. |
|||
|
||||
| Gwendolen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 5.4.2005 Репутация: нет Всего: 1 |
Нашел ответ, виртуальный терминал и виртуальный порт не понимают уровня напряжений на выходе MAX232. Там логической единице соответствует напряжение -12 вольт а протеус воспринимает как 0. Для терминала это можно исправить, изменив в настройках полярность RX/TX, для виртуального порта решения не нашел. Однако взаимодействие с программой можно испытать и так, подключив его до MAX232.
P.S. Естественно, реальный разъём порта будет подключен не так, как подключён виртуальный порт, а так: --------------------
Наносите пользу и причиняйте добро! |
|||
|
||||
| UniBomb |
|
|||
|
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 9 Всего: 97 |
||||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |