Главная » Статьи » Программирование » Программирование в 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 ' ввод переменной с текстовым сообщением Команда 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 ' конец программы После прошивки контроллера. Запускаем терминал она находится в самом компиляторе. Вот такая иконка: Источник: www.enore.ru | |
Категория: Программирование в BascomAVR | Добавил: Space (24.01.2011) | | |
Просмотров: 2498 | Комментарии: 5 | |
Всего комментариев: 5 | ||
|