Главная » Статьи » Программирование » Программирование в BascomAVR

Связь ПК с МК через USB-UART
   Частенько бывает так, что нам требуется подключить контроллер к компьютеру с целью отладки программы, считывание данных с подключённых к контроллеру датчиков, управление и контроль по средствам компьютера. В этом случаи используется либо COM-порт он же протокол RS232 или USB-UART на микросхеме FT232RL вот его та мы и будем использовать, т. к. com-порты щас уже особо не встречаются. FT232RL является новым устройством среди интегральных схем для работы FTDI и USB UART интерфейса. Внутренний таймер счётчик (6 МГц, 12 МГц, 24 МГц и 48МГц) может быть выведен из устройства и используется для управления микроконтроллера или внешней логики, уникальный номер (ID-FTDIChip ™) может быть прочитан через USB, и таким образом формирует безопасный ключ, который может быть использован для защиты программного обеспечения клиента приложения от копирования.



   Теперь о программной части. Распишу только те команды, которые будут применяться в нашей программе. Все остальные команды можно посмотреть на официальном сайте Bascom AVR.

    $BAUD - глобальная установка скорости информационного обмена UART
    INPUT - ввод данных различных форматов.
    PPINT - отправить данные

   Команда $BAUD

   Синтаксис команды -  $BAUD = var                                     


   Var – скорость порта, которую вы хотите использовать для информационного обмена (числовое значение)

   Примечание:
   Скорость обмена, установленная в программе микроконтроллера, должна совпадать с настройками COM-порта компьютера. В противном случае устойчивого соединения не будет.

Code
$regfile = "m16def.dat" ' используем ATmega16
$crystal
= 16000000 ' частота установленного кварца 16 mHz
$baud = 19200 ' скорость порта 19200 бит/с

   Команда INPUT

   Синтаксис команды - INPUT [" prompt" ] , var[ , varn ]

                                    INPUT #ch, var[ , varn ]

   Promt – текстовая информация (опционально)

   Var,varn – вводимые значения

   Сh – номер канала (в многоканальном режиме) в который осуществляется ввод информации

Code

Input "Vvedite chislo " , A   ' ввод переменной с текстовым сообщением
Input A1                           'ввод переменной


   Команда PRINT

   Синтаксис команды - PRINT [#channel , ] var ; " constant"

 

   Channel – выбор канала для вывода информации в многоканальном режиме

   Var – переменные, константы различных форматов, для вывода

   ”constant– вывод какой либо текстовой информации

Code
Print "выводим переменную А " ; A        ' вывод текста и переменной
Print                                                      'вывод пустой строки                     

Print "Выводим текст"                           'вывод текстовой информации


Этих команд будет вполне достаточно для простого обмена данными пк и мк. Теперь напишем программу для обмена данными.

Code
$regfile = "m16def.dat"                                     ' используем ATmega16

$crystal = 16000000                                         ' частота установленного кварца 16 mHz

$baud = 19200                                               ' скорость порта 19200 бит/с.

Dim Words As String * 10                                    ' объявляем стринговую переменную на 10 символов

Print "Site Enore" : Waitms 500                             ' выводим надпись

Print : Waitms 500                                          ' пропускаем строку и ждём 0,5 с.

Print "Hello, user! What is you name?" : Waitms 500

Print : Waitms 500                                          ' пропускаем строку и ждём 0,5 с.


Input "Name - " , Words

Print : Waitms 500                                          ' пропускаем строку и ждём 0,5 с.

Print "Hello," ; Words : Waitms 500

Print : Waitms 500                                          ' пропускаем строку и ждём 0,5 с.

Print "Test uart good!"                                     ' выводим надпись

End                                                         ' конец программы

   
После прошивки контроллера. Запускаем терминал она находится в самом компиляторе. Вот такая иконка:



   После запуска терминала надо будет сделать настройку(вкладка terminal->settings) вот так:



   И потом нажимаем Reset на контроллере, в результате получится следующее:



Скачать архив с исходником и прошивкой можно по ссылке.

Ссылка на предыдущую статью.

Ссылка на следующую статью.










Источник: www.enore.ru
Категория: Программирование в BascomAVR | Добавил: Space (24.01.2011) | Автор: Кирилл E W
Просмотров: 2462 | Комментарии: 5 | Теги: ft232rl, uart, USB, usb-uart, rs-232, max232cpe, протокол rs-232, как связать пк с мк
Всего комментариев: 5
1 loiter   (11.01.2012 22:47) [Материал]
Интересно попробовать...Только схемы нет.....?

2 Space   (13.01.2012 15:09) [Материал]
http://enore.ru/publ/6-1-0-32
там смотри как подсоединять эту микросхему к контроллеру

3 antik1ller   (20.01.2012 15:47) [Материал]
У FT232RL есть аналоги?

4 Space   (20.01.2012 16:59) [Материал]
есть, глянь в интернете

5 timoff   (20.01.2012 20:13) [Материал]
crazy

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]