roboforum.ru

Технический форум по робототехнике.
Текущее время: 04 май 2025, 15:29

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 68 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: COM порт для связи с МК
СообщениеДобавлено: 02 авг 2007, 22:33 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Давно есть желание поюзать COM в связке ПК + МК. Здесь буду описывать процесс того как это у меня продвигается. Здесь же выложи схемы и печатки которые буду делать. Хотелось бы реализовать управление 8-ю светодиодами. Т. е. простейшая задача как для LPT порта.

Буду использовать ATmega16 и на ПК програмить на Delphi (и не убеждайте меня перейти на что-то другое).
Вначале просимулирую все в Proteus.

Начал с чтения:

http://www.avr123.nm.ru/z4.htm   - Схемы для связи COM порта с USART MK и програмы для отладки, полное описание портов ПК

http://www.avr123.nm.ru/z5.htm - Примеры организации двусторонней связи через USART MK с исходниками и симуляцией и вывод данных на LCD знакосинтезирующий.

Сразу возник вопрос там в примере в 5-й задаче выбирается кварц 11,059 и скорость обмена данными 115200.
Но в протеусе нет такой скорости обмена данными (в терминале). Если я выберу скорость скажем 9600
(или какую лучше?), то нужно ли будет поставить другой кварц?


Последний раз редактировалось Master 02 авг 2007, 23:09, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 авг 2007, 22:43 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Очень правильно что начал с чтения.  Будут замечания, вопросы - пиши !

Для снижения скорости обмена наверно лучше изменить настройку USART с помощью мастера CVAVR. Так как изменение частоты кварца (тактирования МК) повлияет на тайминг выполнения других задач если они есть в програме МК.

Симулятор VMALB (он и использован в задаче 5) поддерживает скорость до 250 kbps.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 авг 2007, 01:42 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
И еще вопрос терминал в Протусе подразумевает, что подключение идет через MAX232 или в принципе можно микросхему тоже поставить? В примерах она не стоит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 авг 2007, 01:59 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Нашел ответ на вопрос о зависимости скорости передачи от кварца. В ДШ в разделе USART Exemples of Baud Rate Settings есть таблица кварцов для каждой из скоростей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 авг 2007, 02:14 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
там     avr123.nm.ru/z5.htm   рекомендую мастером  CVAVR  комбинировать частоты кварца и скорости и получать сразу код настройки UART

и главное ДОПУСТИМОСТЬ ошибки скорости.

в PROTEUS терминал как бы включает в себя max232 - т.е. подключать проводки НУЖНО напрямую.  

http://proteus123.narod.ru/01.htm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 авг 2007, 02:16 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
А для чего мастером комбинировать если можно в ДШ посмотреть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 авг 2007, 02:21 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
И как увиденое компилятору объяснить ?  Жестами ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 авг 2007, 02:29 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
avr123.nm.ru писал(а):
И как увиденое компилятору объяснить ?  Жестами ?

Ну почему же. Вот я хочу к примеру использовать кварц 16МГц (просто у меня их 5 шт :)) и Bаud Rate 19200 (19,2К), т. к. эта скорость есть в Протеусе и она подходит поскольку ошибка менее 1% (точнее 0,2). Я в мастере ставлю кврц 16МГц и Boud Rate 19200. Остальное как в примере к 5-й задаче курса.


Вложения:
Настройки мастера.JPG
Настройки мастера.JPG [ 44.62 КиБ | Просмотров: 4643 ]
Выбор кварца.JPG
Выбор кварца.JPG [ 90.44 КиБ | Просмотров: 4637 ]


Последний раз редактировалось Master 03 авг 2007, 02:36, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 авг 2007, 02:34 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Вот мой первый "Hello World", а так же исходники для CVAVR и Proteus. Настройки в CVAVR как в верхнем посте. В Protese главное не забывать устанавливать частоту МК и Bаud Rate в терминале. Я на этом попался.  :oops: Все ушел спать, завтра на работу.


Вложения:
COM.rar [40.7 КиБ]
Скачиваний: 134
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 авг 2007, 03:02 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Master писал(а):
avr123.nm.ru писал(а):
И как увиденое компилятору объяснить ?  Жестами ?


Ну почему же...

Я в мастере ставлю ...  


Дак я и советовал выше мастером пользоваться потому что он готовый код настройки создаст.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 авг 2007, 09:57 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
Master
незабудь заглянуть в тему http://www.roboforum.ru/viewtopic.htm?t=2819
там тоже поднимается вопрос компорта у МК
правда там юзается КПК но принципиально разницы никакой, только отличие в языке програмления, там сишник.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 авг 2007, 00:42 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Вот осваиваю BComPort библиотека облегчающая работу с протоколом RS-232 под Delphi. Хочу отослать и принять в порт что-нибудь.
Кто-нить пользовался этой библиотекой?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 авг 2007, 10:03 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
Я пользовался. Поковыряйтесь с примером терминала, поставляемым с компонентом, т.к. его очень удобно под себя перестроить. Там, например, есть обработчик нажатия кнопки клавиатуры для компонента Edit1:
Код:
procedure TMainForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if BComPort1.Connected and (Key = #13) then
 begin
   BComPort1.WriteStr(Edit1.Text + Key);
   Edit1.Text := '';
 end;
end;

Т.е. если нажатая кнопка - Enter, то в порт посылается строка, введенная в Edit плюс код 13.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 авг 2007, 12:39 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Master писал(а):
Вот осваиваю BComPort библиотека облегчающая работу с протоколом RS-232 под Delphi. Хочу отослать и принять в порт что-нибудь.


Вот этот сайт начинающим -  http://www.valery-us4leh.narod.ru/main.html

я рекомендую на странице  http://avr123.nm.ru/z4.htm  курса посвященной связи МК AVR ATmega и ПК по COM.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 авг 2007, 13:12 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Цитата:
Т.е. если нажатая кнопка - Enter, то в порт посылается строка, введенная в Edit плюс код 13.

Я так понимаю код 13 это и есть Enter? И что бы что-то получить в порт я должен кинуть перемычку с pin2 на pin3 и тогда в Memo1 появится то что я написал в Edit1? Блин стремно как-то 3 месяца как комп купил. Лучше на работе попробую. :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 68 ]  На страницу 1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO