Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB клавиатура
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2
jcxz
Цитата(Golikov A. @ Jun 3 2014, 19:19) *
win CE - это операционка, кроме поддержки стэков USB и прочих, вы получаете и контроль приложений (чтобы они друг другу память не гадили)

Ну - это можно и под обычным uCOS на M3-ядре сделать. Защита памяти в M3 есть.
В хуке uCOS на переключение задачи прописать работу с MPU M3.
Golikov A.
никто не спорит, потому uCOS тоже операционкаsm.gif...
DmitryM
Цитата(TrueCyrix @ Jun 3 2014, 15:22) *


Перечитал еще раз Ваши сообщения и возник у меня вопрос: а нужна ли Вам вообще клавиатура? Может просто повесить несколько кнопок на IO и опрашивать их.
TrueCyrix
Цитата(DmitryM @ Jun 4 2014, 09:58) *
Перечитал еще раз Ваши сообщения и возник у меня вопрос: а нужна ли Вам вообще клавиатура? Может просто повесить несколько кнопок на IO и опрашивать их.


Несколько - это маловато. Все 102 кнопки нужны. Это будет терминал ввода данных.
Не ужели s3c2410 настолько редкий процессор, что для него нет ни одного примера работы с USB клавиатурой?
DmitryM
Цитата(TrueCyrix @ Jun 4 2014, 10:46) *
Не ужели s3c2410 настолько редкий процессор, что для него нет ни одного примера работы с USB клавиатурой?

Он не редкий, он старый. Уже EOL давно. В свое время активно использовался именно под ОСью, а в этом случае уже есть поддержка USB, Ethernet, Video и пр.
TrueCyrix
1) включение питания клавиатуры
2) клавиатура - AAh (я готова)
3) компьютер - EDh (сброс индикаторов)
4) клавиатура - FAh (приняла/поняла/подтверждаю)
5) компьютер - F2h (дай мне свой ID)
6) клавиатура - FAh (приняла/поняла/сейчас дам)
7) клавиатура - ABh (послала первый байт ID)
.... ну и т.д. и т.п. компьютер слушает clock от клавиатуры и читает данные, или сам посылает - это всё для PS/2
а как общаться с USB клавиатурой? Примеров нет, вот что плохо.
Golikov A.
Цитата
а как общаться с USB клавиатурой? Примеров нет, вот что плохо.

ходим по кругу.

USB - клавиатура - такой штуки нет. Есть HID клавиатура. И общение (в ваших терминах) такое
1) клавиатура - потребляю я включилась
2) компьютер ты кто?
3) клавиатура - я HID клавиатура
4) компьютер - ну давай работай
5) клавиатура, ОК - работаю

все дальше все само, если глубже там компьютер будет раз в 1 мСек или 125 мкСек зависит от режима опрашивать клавиатуру нет ли у нее данных, а та будет сообщать коды нажатых кнопок если есть такие...


я тут придумал для вас хорошее решение!

вам надо взять промежуточное устройство которое USB-HID переделает в UART, а на целевом проце уже обрабатывать UART передачу...
TrueCyrix
Вы хотите сказать, что хост постоянно "клюёт" HID устройство с целью узнать нет ли там данных и если есть, то заклочить (clock) устройство и получить данные побитно? А зачем постоянно то? На это ведь уходит время и ресурсы.

По 8 бит читать пакеты через uart? В принципе возможно, надо попробовать, только как быть с прерыванием?
Golikov A.
Цитата
Вы хотите сказать, что хост постоянно "клюёт" HID устройство с целью узнать нет ли там данных и если есть, то заклочить (clock) устройство и получить данные побитно? А зачем постоянно то? На это ведь уходит время и ресурсы.

Не один я это хочу это сказать. Это принцип работы USB в целом. Все обмены по шине инициируются хостом, для LS,FS устройств величина кадра 1 мСек, для HS 125 мкСек. Обмены HID устройства идут по iterrupt конечной точке, которая отправляет данные фактически в ближайший фрейм. Это все делается на железном уровне и само. Клавиатура получив нажатие кнопки формирует отчет входной отчет (отчет в хост) с кодом кнопки, отчет будет забран хостом в ближайший фрейм. Фрейм его обработает, выставить ACK, NACK или что ему понадобиться, проверит суммы, выделит данные и поставит флаг что пришли данные. Вы их считаете и обработаете.

преобразование HID - UART нету, те преобразователи USB-UART что есть это CDC класс, он клавиатуру не обработает. Но если вы возьмете что-то на базе LPC1768, то я вам давал ссылку на готовый стэк что обработает клавиатуру. Наверняка можно найти что-то и поменьше что сможет обработать клавиатуру и выдать вам данные в каком-то понятном виде, UART или что-то типа. Это близко к идее использовать PS/2, только интерфейс будет стандартный...

TrueCyrix
Да уж... не всё так просто. Ладно, я ещё немного побадаюсь с USB-хостом и если уж совсем ничего не получится, попробую собрать промежуточное устройство. Мне бы не хотелось тратить на это целый uart, он мне нужен для других целей.
Golikov A.
ставьте rs485 он адресуемый, полингом можно решить опрос клавиатуры и других модулей
Lagman
Цитата(TrueCyrix @ Jun 4 2014, 15:36) *
Да уж... не всё так просто. Ладно, я ещё немного побадаюсь с USB-хостом и если уж совсем ничего не получится, попробую собрать промежуточное устройство. Мне бы не хотелось тратить на это целый uart, он мне нужен для других целей.

Уже, я, понял как работает HID устройство, хоть USB никогда не занимался. Мой совет, наймите или закажите эту работ (разработку), вам он не под силу.
ohmjke
Топикстартер хоть что-нибудь читал вообще про USB?
Тут - http://microsin.net/programming/arm-workin...hell-part1.html всё очень хорошо объясняется.
Плюс это - http://www.marsohod.org/index.php/ourblog/11/50-usb11 как дополнение после прочтения первого.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.