Подключаем микроконтроллер к компьютеру. 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 модуля, и превращение его в отдельное сетевое устройство. Но о нем поговорим позже.
Tags
bme280 bmp280 gps mpu-6050 options stm32 ssd1331 ssd1306 eb-500 3d-printer soldering tim mpu-9250 dma watchdog piezo exti web raspberry-pi docker ngnix solar bluetooth foc html css brushless flask dc-dc capture gpio avr rs-232 mpx4115a atmega mongodb st-link barometer pwm nvic git java-script programmator dht11 hih-4000 pmsm encoder max1674 smd sensors rtc adc lcd motor timer meteo examples i2c usb flash sms rfid python esp8266 servo books bldc remap eeprom bkp battery ethernet uart usart displays led websocket nodemcu wifi
Архіви
