roboforum.ru

Технический форум по робототехнике.


Про USB

В разделе рассматриваются вопросы информационного обмена в робототехнике.
Аппаратный уровень, протоколы.

Re: Про USB

Сообщение EdGull » 23 окт 2007, 13:26

а что ты хотел там выставить?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Про USB

Сообщение Master » 23 окт 2007, 13:28

Я думал там можно будет зашить что-то типа ЧПУстанок и это будет видно как устройство. Ну или что то типа этого. Я еще не до конца разобрался.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Про USB

Сообщение Myp » 23 окт 2007, 17:12

ну ты конфиг драйвера подправь и будет тебе хоть коврик для мышки написано хоть пульт управления баллистической ракетой
id всякие устройства там вроде низя менять? в прошивке микры самой
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Про USB

Сообщение Master » 23 окт 2007, 22:27

Myp писал(а):ну ты конфиг драйвера подправь и будет тебе хоть коврик для мышки написано хоть пульт управления баллистической ракетой
id всякие устройства там вроде низя менять? в прошивке микры самой

В EEPROM мона минять VID и PID короче вот скрин.
Вложения
.JPG
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Про USB

Сообщение Master » 01 ноя 2007, 00:43

Вопщем продолжаю пытаться работать с USB.
Устройство на FT232BM успешно собранное и опробованное подключаю к Mega16 и не работает. Должно получать и отсылать обратно. putchar(getchar());
Если МК вынуть и закоротить в панельке RxD и TxD работает номана. Ставлю МК данные в порт шлю диодик мигает, а обратно МК не шлет. Вот плата и проект.
Код: Выделить всёРазвернуть
#include <mega16.h>

#define RXB8 1
#define TXB8 0
#define UPE 2
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7

#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<OVR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)

// USART Receiver buffer
#define RX_BUFFER_SIZE 100
char rx_buffer[RX_BUFFER_SIZE];

#if RX_BUFFER_SIZE<256
unsigned char rx_wr_index,rx_rd_index,rx_counter;
#else
unsigned int rx_wr_index,rx_rd_index,rx_counter;
#endif

// This flag is set on USART Receiver buffer overflow
bit rx_buffer_overflow;

// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
status=UCSRA;
data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
   {
   rx_buffer[rx_wr_index]=data;
   if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
   if (++rx_counter == RX_BUFFER_SIZE)
      {
      rx_counter=0;
      rx_buffer_overflow=1;
      };
   };
}

#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter==0);
data=rx_buffer[rx_rd_index];
if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
#asm("cli")
--rx_counter;
#asm("sei")
return data;
}
#pragma used-
#endif

// Standard Input/Output functions
#include <stdio.h>
#include <delay.h>
// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTA=0x00;
DDRA=0xFF;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P
PORTB=0xFF;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P
PORTC=0xFF;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P
PORTD=0xFF;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 19200
UCSRA=0x00;
UCSRB=0x98;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// Global enable interrupts
#asm("sei")

while (1)
      {
      // Place your code here
       putchar(getchar());
      };
}
Вложения
.JPG
Led.rar
(60.05 КиБ) Скачиваний: 49
Последний раз редактировалось Master 01 ноя 2007, 08:21, всего редактировалось 1 раз.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Про USB

Сообщение Master » 01 ноя 2007, 00:45

Подключаюсь к вновь появившемуся порту у меня СОМ4, скорость выставляю 19200, т.е. такую же как и в прошивке.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Про USB

Сообщение Myp » 01 ноя 2007, 01:08

ну что могу тебе сказать...

потыкай светодиодом в ногу Tx контроллера когда он чёто в теории должен посылать
если моргает что начит проблема гдето там..

а если не моргает то проблема гдето чисто в самом мк с программой или конфигурацией
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Про USB

Сообщение Master » 01 ноя 2007, 08:15

Нашел, ножки от FT232 должны идти FT232_RxD -> МК_TxD, FT232_TxD -> МК_RxD, а у меня наобоорот.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Про USB

Сообщение Master » 09 май 2008, 23:24

Я смотрю на форуме появился человек заинтересовавшийся управлением девайсами от ЮСБ, поэтому выклдываю сюда свой проект управления свтодиодами от ЮСБ.
Для работы на Делфи с СОМ портом использую библиотеку BComPort.
Для работы устройства нужно выбрать нужный порт и выставить скорость 19200.
Добавлено спустя 1 минуту 36 секунд:
1. Плата под FT232BM.
2. Прошивка.
3. Плата с МК, диодами и разъемом под FT232BM.
4. Софт на Делфи.

Добавлено спустя 15 минут 59 секунд:
ВНИМАНИЕ, проект делался давно, поэтому все нужно проверить прежде чем подключать.
Вложения
FT232BM EEPROM.rar
(12.48 КиБ) Скачиваний: 43
.rar
(41.34 КиБ) Скачиваний: 47
с под МК.rar
(31.13 КиБ) Скачиваний: 44
SOFT.rar
(198.36 КиБ) Скачиваний: 49
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Про USB

Сообщение FireFly » 10 май 2008, 00:00

Добавлю свой модулек конвертера USB UART :)
тока он на FT232RL - обвязки почти нет, еепром не нужен ибо встроенный и внешнего кварца то же не надо, тока вот мелковата микруха - сложно паять без опыта :(
http://robozone.su/mrc28/23-modul-konve ... 232rl.html
Изображение

По сцылке схема и плата + тестовая простецкая прошивка на BASCOM AVR
Домашняя робототехника - RoboZone.SU
горючее...- пиво... много... :)
Аватара пользователя
FireFly
 
Сообщения: 1576
Зарегистрирован: 19 июн 2005, 18:27
Откуда: Камышин

Re: Про USB

Сообщение D1mcon » 16 май 2009, 23:28

Интересно, пусть есть коммуникатор (windows mobile), у него mini usb, возможно ли при помощи FT232 соединить с МК. И будет ли на нем создан виртуальный ком-порт? :crazy:
Какие у кого будут соображения на этот счет?
Язык Ада - официально был признан министерством обороны США для создания ПО военной техники
Аватара пользователя
D1mcon
 
Сообщения: 700
Зарегистрирован: 08 фев 2009, 10:13
Откуда: Воротынск
прог. языки: C,C++,C#,Java
ФИО: Дмитрий

Re: Про USB

Сообщение MiBBiM » 16 май 2009, 23:30

если на кмк юсб хост, то работать будет однозначно. проверено многолетним :) опытом
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Про USB

Сообщение D1mcon » 16 май 2009, 23:47

А если нет?
MiBBiM писал(а):если на кмк юсб хост, то работать будет однозначно. проверено многолетним :) опытом

На чем проверялось?
Язык Ада - официально был признан министерством обороны США для создания ПО военной техники
Аватара пользователя
D1mcon
 
Сообщения: 700
Зарегистрирован: 08 фев 2009, 10:13
Откуда: Воротынск
прог. языки: C,C++,C#,Java
ФИО: Дмитрий

Re: Про USB

Сообщение MiBBiM » 16 май 2009, 23:49

ищи на форуме по ключевику acer n311 - что найдешь, то всё, в основном, моё.
на нет и суда нет
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Про USB

Сообщение RST » 21 июн 2009, 12:24

Myp писал(а):... если оч охото мона напиcать прогу для встроенного мк чтоб остальными ногами светиками моргал =)

Master писал(а):Я смотрю на форуме появился человек заинтересовавшийся управлением девайсами от ЮСБ, поэтому выклдываю сюда свой проект управления свтодиодами от ЮСБ.


2 Мур & Master

Салам aлейкум о источники мудрости !!!

- мне срочно необходимо лампами Алладина поморгать :roll: (т.е. своего рода програмная оболочка под управление 12-каналов (вкл/выкл) необходимо с определенным интервалом записанным на таймлинии в PC управление через ЮСБ и желательно под музыку :Bravo:
- а так-же не мешало-бы и самому "мудрости заморской" поучится "управлениe девайсами от ЮСБ" :oops:
- с чего начинать посоветуете? - что можно прикупить в магазине радиодеталей под поставленную задачку ?
- за полученые знания испытанными на практике, отборным серебром готов отблагодарить :beer:

P.S. в скриптах вроде немного понимаю (есть опыт работы с ависинсом) но вот что для чего...(что в какой программе писать и что будет на выходах микросхем) мне пока не понятно :oops:
Аватара пользователя
RST
 
Сообщения: 5
Зарегистрирован: 06 июн 2009, 03:18
Откуда: Moscow

Пред.След.

Вернуться в Коммуникации

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5