Подключаем микроконтроллер к компьютеру. Com-порт (RS-232), USB
В Микроконтроллерах Atmel есть интерфейс UART. Фактически это тот же RS-232, но с другими логическими уровнями. Используя его подключим наш микроконтроллер к компьютеру.
Подключение микроконтроллера к последовательному порту (RS-232) используя MAX232
Напрямую контроллер включать конечно же нельзя. Для сопряжения используют микросхему MAX232.Код программы микроконтроллера для тестирования связи с компьютером:
#include <avr/io.h>
#include <avr/interrupt.h>
#include "uart.h"
#define BAUD 9600
#define MYUBRR F_CPU/16/BAUD-1
char str0[]="Zero";
char str1[]="One";
char str2[]="Two";
char str3[]="Three";
char str4[]="Four";
char str5[]="Five";
char str6[]="Six";
char str7[]="Seven";
char str8[]="Eight";
char str9[]="Nine";
char strDefault[]="Non digital";
int main(void) {
char c;
uart_init (MYUBRR);
sei();
while (1) {
if (UCSRA & (1<<RXC)) {
c=UDR;
switch (c) {
case `0`: uart_puts(str0); break;
case `1`: uart_puts(str1); break;
case `2`: uart_puts(str2); break;
case `3`: uart_puts(str3); break;
case `4`: uart_puts(str4); break;
case `5`: uart_puts(str5); break;
case `6`: uart_puts(str6); break;
case `7`: uart_puts(str7); break;
case `8`: uart_puts(str8); break;
case `9`: uart_puts(str9); break;
default: uart_puts(strDefault);
}
}
}
}
Скачать исходный код программы
На компьютере открываем Hyper Terminal, подключаемся с Com порту. Теперь можно передавать информацию с компьютера в микроконтроллер и, наоборот, с микроконтроллера в компьютер.
Программа работает просто - Вы нажимаете клавишу от 0 до 9, микроконтроллер возвращает соответствующую строку. Файлы примера можно скачать здесь. Обратите внимание, что микроконтроллер должен работать на частоте как минимум 2Мгц.
Подключение микроконтроллера к USB порту используя FT232
Иногда требуется подключить несколько устройств, или нет доступных COM портов. Наиболее подходящий способ использовать микросхему FT232 для работы с USB портом (производитель http://www.ftdichip.com/). Она полностью берет на себя работу с USB портом, выдавая микроконтроллеру родной интерфейс UART. А поскольку драйвер эмулирует виртуальный Com порт, то никакой переделки ПО на компьютере и в микроконтроллере не потребуется. Производитель микросхемы позаботился о пользователях и предоставляет драйвера для следующих операционных систем:
- Windows Server 2008 R2
- Windows 7
- Windows 7 x64
- Windows Server 2008
- Windows Server 2008 x64
- Windows Vista
- Windows Vista x64
- Windows Server 2003
- Windows Server 2003 x64
- Windows XP
- Windows XP x64
- Windows 2000
- Windows ME
- Windows 98
- Linux
- Mac OS X
- Mac OS 9
- Mac OS 8
- Windows CE.NET (Version 4.2 and greater)
Используя FT232 можно обеспечить питание Вашей схемы напряжениями +5 и +3.3В. На этапе разработок Вам будет очень полезен модуль для подключения микроконтроллера к компьютеру на базе FT232. Его можно приобрести или сделать самостоятельно. Я поступил проще, купил отдельно плату, необходимые детали и собрал сам и сейчас плотно эксплуатирую. Где купить смотрите здесь.
Описание модуля и схему качайте здесь.
Есть еще более простой и не дорогой способ, который я нашел - использование шнуров для подключения мобильных телефонов к компьютеру. Некоторые шнуры для подключения мобильных телефонов к компьютеру построены по такому же принципу. Т.е. имеют встроенную микросхему и после подключения и установки драйверов эмулируют последовательный COM-порт. У меня оставался такой разрезанный шнур (CA-42). Отрезаем разъем к мобильному телефону, находим нужные провода и подключаем напрямую к ногам микроконтроллера. При не правильном подключении ничего не сгорит. По крайней мере, у меня не сгорело :)
По отношению к вышеописанному модулю недостаток один - невозможно использовать питание, которое предоставляет USB порт. Такой метод подключения я использовал в метеостанции.
Существует способ работать с USB напрямую с микроконтроллера, но для этого требуются определенные ресурсы микроконтроллера и использование отдельных драйверов. В этой статье он не рассматривается.
Существует способ подключения микроконтроллера к локальной сети посредством Ethernet модуля, и превращение его в отдельное сетевое устройство. Но о нем поговорим позже.
Недавні записи
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
- DC-DC для IGBT драйверів ізольований 2 W +15 -8 вольт
Tags
battery soldering java-script ngnix adc rs-232 flask esp8266 watchdog web exti solar mongodb rtc sms pwm usart books ethernet smd git websocket meteo css python dc-dc displays led ssd1306 eeprom gpio barometer max1674 mpx4115a brushless motor mpu-6050 timer sensors remap servo bldc atmega pmsm 3d-printer flash encoder examples dma raspberry-pi tim ssd1331 piezo mpu-9250 rfid eb-500 foc bme280 gps nvic dht11 bluetooth hih-4000 stm32 st-link docker uart avr html wifi bmp280 bkp nodemcu options usb lcd programmator i2c capture
Архіви