|
Модераторы: PILOT, ManiaK, Mazzi Страницы: (8) Все « Первая ... 2 3 [4] 5 6 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
|
AlexART |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
Фрагмент файла USBConfig.h:
Добавлено через 2 минуты и 55 секунд И сразу вопрос: Подскажите, пожалуйста, как передавать БОЛЬШЕ одного бита? Просто менять состояние PORTB.0? |
||||||
|
|||||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
Может байта? Шли друг за другом байты и всё. А если нужна скорость, то лучше не заморачиваться с HID и использовать USB <-> RS232 переходник.
|
|||
|
||||
pvabox |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
xvr правильно ответил. Чтобы не заморачиваться и уменьшить количество машинного кода и вычислений, я работаю и передаю в микроконтроллер десятичное число. При записи этого числа в порт PORTB микроконтроллер сам устанавливает соответствующие биты на выходе. 0 - соответствует состоянию 00000000, а 255 - соответственно 11111111. Для включения n-го светодиода, я увеличиваю переменную LEDs на 2 в степени n (n=0..7).
Не понятен вопрос, мы вроде передаем уже 8 бит (1 байт), может имелось ввиду как передавать БОЛЬШЕ одного байта?
Ну да, смотря для чего использовать. Для цветомузыки, например, скорость переключения в 10 мс это весьма большая скорость. Я в своем плагине для Winamp-а использовал эффект стробирования, работает на ура, с яркими светодиодами по глазам бьет конкретно. Можно даже увеличить длину репорта и передавать информацию о яркости свечения светодиода (через ШИМ), тогда время переключения увеличится до 100 мс и для плавных переключений это будет совершенно незаметно. Это сообщение отредактировал(а) pvabox - 4.11.2010, 23:15 |
||||||
|
|||||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
||||
|
||||
AlexART |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
Извиняюсь, больше одного байта. Всё, уже понял, спасибо.
|
|||
|
||||
mr_smit |
|
||||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
А в работе? Видео хотелось бы. Хоть на телефон сними. |
||||
|
|||||
pvabox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 23.8.2009 Репутация: нет Всего: нет |
Хорошо, чуть позже выложу. Но световые эффекты сильно зависят от программы управления и внешнего оформления. У меня девайс работает как прожектор, а в кубе смотрелось бы иначе. В плагине под Winamp у меня реализовано несколько режимов работы светодиодов: зеркальный, частотный, амплитудный, одиночный, а так же добавлены эффекты: инверсия и стробирование. К сожалению, все светодиоды работают в режиме "горит - не горит". Если будет время, думаю ввести режим управления яркостью светодиода, в зависимости от музыкального сопровождения. Хотя, можно немного доработать программу МК и реализовать режим плавного погасания светодиода. Причем скорость погасания будет зависеть от времени свечения. При быстрой музыке этот эффект не будет заметно проявляться, а при медленной получится необычайная световая картина.
|
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
У меня проблема следующего рода:
На контроллере висит кнопка, по нажатию этой кнопки КОНТРОЛЛЕР должен передать какие то данные в ХОСТ. Как сделать это. че в Делфе где прописано должно быть. прерывание слушать. Как вариант конечно можно постоянно хостом опрашивать девайс. но это плохой вариант. Как быть? =) |
|||
|
||||
mr_smit |
|
|||
Опытный Профиль Группа: Участник Сообщений: 254 Регистрация: 27.2.2008 Где: Самара Репутация: 1 Всего: 4 |
Ну во-первых кто тебе сказал что это плохой вариант??? Я с кнопкой так и делал. А во-вторых вот: http://www.radiokot.ru/circuit/digital/pcmod/16/ Там и исходники есть. |
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
Это не то. там программа хоста постоянно опрашивает, а не контроллер сам инициализирует передачу данных хосту. Я нашел получше пример, но он у меня не запускается. щас буду его мучать
http://radioelectronika.ru/?mod=full_cxema&cxemi_id=465 Благо он разобран детально. и мне придется самому строить HID дескриптор. |
|||
|
||||
AlexART |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
KoTeKoT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.12.2010 Репутация: нет Всего: нет |
Приветствую всех!
Возможно не туда (если что перенаправьте) , но я уже просто не знаю что делать и в чем искать причину! Уже несколько месяцев пользую проект "hid-data" подкоректировав его под свои нужды в связке с Delphi. И все шло норм, Но после очередной поездки на работу с платой этой - врубаю а ЮСБ пишет "Устройство не опознано" Как так? ПереПрозвонил по 20 раз уже все. Обрывов нет, коротких тоже... Ради интереса позаливал разные варианты прошивок и из "hid-custom-rq" и разные модификации "hid-data" - Все равно не опознано! Но прошивается без ошибок (тоесть с кварцом и кондерами я так понял все в норме) и если прописать "DDRB = 0xFF;" между "DBG1(0x00, 0, 0);" и "odDebugInit();" то светятся диоды как и положено. НО ЮСБ "не опознано". Подтолкните плз в какую сторону рыть... уже 3-й день над девайсом этим сижу... |
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
В другой комп пробовал ставить девайс? Как вариант сгорел стабилитрон, если ты на нем схему делал, т.е. по шинам данных идет 5В вместо 3-х.
|
|||
|
||||
KoTeKoT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.12.2010 Репутация: нет Всего: нет |
Пробовал с 3-мя компами (2 ХР и 1 Win7) одно и тоже... Делал на диодах (прозвонил - не пробитые):
И кстати замерял напругу - такое впечатление что ни R1 ни R2 нет... (тоесть между выводом USB1 и PD2 = USB1 и USB3 = 4,93 В) а (между выводом USB4 и PD4 = USB4 и USB2 = 2,97 В) Но при этом резюки исправно показывают 68 Ом. А между PD2 и PD4 так же как и между USB2 и USB3 = 2,95 В. Это сообщение отредактировал(а) KoTeKoT - 25.12.2010, 20:51 |
|||
|
||||
darksilence |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.11.2010 Репутация: нет Всего: нет |
впринципе R2 и R1 особо на схему и не влияют. Но как факт, что МК должен питаться от 3,6В не больше. и выдавать на ножки PD2,PD4 должен такое же напряжение.
Я толком не понял вашу запись
Напряжение нужно мерить относительно общего провода. А то что вы написали USB1 и PD2 = USB1 и USB3 = 4,93 В. напряжение относительно земли: USB1 = 5V USB2=USB3=3.3V~3.6V USB4 = 0V VCC = ~3.7 V - вот это важно вобщем думаю проблема в разводке. вполне мог какой то прводник отвалиться. также советую проверить фьюзы и попробовать прошить другую аналогичную МК. Это сообщение отредактировал(а) darksilence - 25.12.2010, 22:54 |
|||
|
||||
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |