Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 12
1

Передача и приём символов по USB

26.03.2012, 18:11. Показов 4535. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Стоит такая задача:
1) Отправить через USB контроллеру символ (любой).
2) Получить в ответ от контроллера 4 цифры (вид паке такой - А4 ВА 45 В8 С9 73 80 А3).
3) Отразить полученные цифры в интерфейсе программы.
4) Добавить полученные цифры в коней .csv файла.
Буду благодарен за любую оказанную помощь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2012, 18:11
Ответы с готовыми решениями:

COM-USB приём, передача данных
Добрый день! Такая проблема: данные с микроконтроллера ATMEGA 128 идут по RS232C после чего...

Прием и передача данных через USB
здравствуйте, по советуйте какой компонент луче использовать, для приема и передачи данных по USB?...

АЦП под видео. Передача-прием видео по USB
Написал простенькую программку, спаял схему на FT232BL и подкинул к USB передаю и получаю...

прием данных по usb
недавно в руки попала отладочная плата на stm32l , подскажите пожалуйста, как на компьютер...

8
Тутошний я
2146 / 1201 / 225
Регистрация: 03.11.2009
Сообщений: 4,416
Записей в блоге: 2
26.03.2012, 20:42 2
Посмотри Дистанционное управление компьютером
А на третий вопрос, мне тоже интересно.

Добавлено через 18 минут
На четвертый.
В общем. Открываешь файл( как текстовый), редактируешь( дописываешь полученные данные), сохраняешь.
В частности может зависеть от языка на котором программируешь. Лучше спросить в соответствующем разделе форума.
0
117 / 74 / 6
Регистрация: 23.01.2012
Сообщений: 186
26.03.2012, 21:09 3
Цитата Сообщение от yagorik Посмотреть сообщение
Буду благодарен за любую оказанную помощь
угу

Цитата Сообщение от yagorik Посмотреть сообщение
1) Отправить через USB контроллеру символ (любой).
В каком режиме USB подключен контроллер?

Цитата Сообщение от yagorik Посмотреть сообщение
2) Получить в ответ от контроллера 4 цифры (вид паке такой - А4 ВА 45 В8 С9 73 80 А3)
Как зовут контроллер? или его нужно сделать самим? и почему именно такой ответ?

Цитата Сообщение от yagorik Посмотреть сообщение
3) Отразить полученные цифры в интерфейсе программы.
Без ответов на первые два вопроса, нет смысла отвечать.

Цитата Сообщение от yagorik Посмотреть сообщение
4) Добавить полученные цифры в коней .csv файла.
Не проблема, но конкретно не понятно ничего
1
4393 / 2243 / 252
Регистрация: 28.10.2011
Сообщений: 8,573
Записей в блоге: 6
26.03.2012, 21:27 4
Цитата Сообщение от yagorik Посмотреть сообщение
Стоит такая задача:
1) Отправить через USB контроллеру символ (любой).
Работа с USB в Windows.
Если интересует создание USB девайсов на AVR контроллерах, то можете прочитать эту статью.
0
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
26.03.2012, 22:09 5
...мне даже дополнить вопросы _engineer_-а больше нечем, ждем ответы от TC.

А пока:
https://www.cyberforum.ru/elec... 26610.html
Библиотеки для работы с USB. Нижний и верхний уровень
https://www.cyberforum.ru/post2350511.html


Не по теме:

locm, а вы случаем не сам Петр собственной персоной или просто продвигаете?

0
233 / 223 / 146
Регистрация: 19.03.2012
Сообщений: 369
27.03.2012, 13:34 6
Вот пример программы для MK ATmega8.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$regfile = "m8def.dat"       'MK ATmega8
   $crystal = 1000000
 
   $baud = 4800                                             'скорость UART
 
   'настраиваем UART
   Config Pind.6 = Output
 
   'переменные для UART
   Dim Inchar As String * 1
 
 
   '==================================================================
   '                     начало основной программы
   '==================================================================
   'активируем прерывания
   On Urxc Prer_uart
   Enable Interrupts
   Enable Urxc
 
   Do
      'программа
   Loop
 
   End                                                      'end program
 
    '-----------------------------------------
   'обработка прерывания от UART
   Prer_uart:
      Inchar = Inkey()                                      'считываем получеенный байт
      'передаём после получения
      Print &4 ; &HВА ; &H45 ; &HВ8 ; &HС9 ; &H73 ; &H80 ; &HА3
   Return
С помощью адаптера USB-RS232 общяемся с ПК.
0
117 / 74 / 6
Регистрация: 23.01.2012
Сообщений: 186
27.03.2012, 13:42 7
Цитата Сообщение от Valery__ Посмотреть сообщение
Вот пример программы для MK ATmega8.
и на чем и для ко кого компилятора это написано?
Просто мне интересно.
0
4393 / 2243 / 252
Регистрация: 28.10.2011
Сообщений: 8,573
Записей в блоге: 6
27.03.2012, 14:53 8
Цитата Сообщение от yagorik Посмотреть сообщение
2) Получить в ответ от контроллера 4 цифры (вид паке такой - А4 ВА 45 В8 С9 73 80 А3).
Тут пакет имеет не 4 а 8 байт.

Цитата Сообщение от _engineer_ Посмотреть сообщение
для ко кого компилятора это написано
На BASCOM-AVR похоже, хотя может и FastAVR.
Возможно целесообразнее поднять USB в МК и обойтись без адаптера USB-RS232.
Код будет примерно таким:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
$regfile = "m8def.dat"
$crystal = 12000000
 
$hwstack = 40
$swstack = 40
$framesize = 50
 
$include "USB\USB_Config.bas"
$include "USB\Const_swusb-includes.bas"
 
' Разрешаем прерывания.
Enable Interrupts
 
DO
 
   CALL Usb_refresh()
 
   ' Получены данные от компьютера.
   IF _usb_status._usb_rxc = 1 THEN
      IF _usb_status._usb_setup = 1 THEN
         ' Обработка системных сообщений нулевой конечной точки.
         CALL Usb_processsetup(_usb_tx_status)
         
      ELSEIF _usb_status._usb_endp1 = 1 THEN
         ' Пришёл пакет данных из компьютера в 1 конечную точку.
         
         _usb_tx_buffer2(2) = &4
         _usb_tx_buffer2(3) = &HВА
         _usb_tx_buffer2(4) = &H45
         _usb_tx_buffer2(5) = &8
         _usb_tx_buffer2(6) = &9
         _usb_tx_buffer2(7) = &H73
         _usb_tx_buffer2(8) = &H80
         _usb_tx_buffer2(9) = &3
         
         CALL Usb_send(_usb_tx_status2 , 8) ' Передача в компьютер 8 байт.
      END IF
      ' Признак готовности принять следующий пакет данных.
      _usb_status._usb_rtr = 1
      _usb_status._usb_rxc = 0
   END IF
 
LOOP
 
END
 
$include "USB\USB_Descriptor.bas"
$include "USB\USB_Subroutines.bas"
0
233 / 223 / 146
Регистрация: 19.03.2012
Сообщений: 369
27.03.2012, 15:54 9
Программа написана на BASCOM-AVR. В нём же и откомпилирована. Через программатор STK200 залита в МК.
0
27.03.2012, 15:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2012, 15:54
Помогаю со студенческими работами здесь

Прием данных с контроллера по USB
Есть контроллер Arduino, который принимает данные с ик-датчика(mlx90614). Данные раз в секунду...

Прием байт по usb в LabVIEW
Здравствуйте. Столкнулся с проблемкой небольшой, с помощью LV считываю байты с микросхемы FT245 в...

Отправка\приём USB HID
Добрый день ув. форумчане , скажите как можно общаться с устройством через usb hid , ну вот есть...

Прием и передача
При приёме сообщения есть некоторая вероятность повреждения отдельных символов. Зная какие именно...

ИК прием передача
Здравствуйте. Мне нужно сделать ИК приемо-передатчики. Возможно ли подключение ИК диода и ТСОП...

Прием данных через USB порт
кто-нить может подсказать компоненты для работы с USB из Delphi, если точнее нужно считывание...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru