[Ubuntu-BR] Programação USB

Andre Cavalcante andre.d.cavalcante em gmail.com
Terça Abril 28 00:58:16 UTC 2009


2009/4/27 Eric Silva <rockeric15 em hotmail.com>:
>
> Olá a todos,
>
> Eu tenho um trabalho da matéria sistemas embarcados, que é controlar um
robô com um joystick plugado ao meu SO e via ethernet mandar comandos para o
robô que vai ser controlado por um microcontrolador PIC. A primeira parte do
projeto é fazer um programinha que reconhece o pressionar dos botões do
joystick. O professor usa o ubuntu e diz que não conseguiu fazer fazer
funcionar no linux. E que fez em VB muito simples em outro SO. Eu queria
usar o ubuntu pra fazer. Alguém tem idéia de como fazer esse programa? Eu
penso na linguagem C pois é a mesma que vamos usar para o microcontrolador.
Mais como é que o linux trata essa conexão usb... se tem alguma biblioteca
que já me dá algumas funções pra manipular... ou até dica de links ou como
pesquisar será bem vinda...

Bom, vou assumir que o programa do PIC tá dominado, ou seja, você saberá
utilizar o PikLab ou MPLab, com os respectivos gravadores e todos os
detalhes para acionar o robô (se I/O digital e analógico, programação das
portas etc.).

O programa no Linux na verdade é bem simples: você deve ou refazer o driver
para o Joystick (mais difícil), ou registrar um callback para o driver
existente (mais fácil), via chamada de ioctl (para configuração da porta)
e/ou rd/wr em /dev/js*n*, onde n é o número da porta (para i/o de dados). O
acionamento pode ser realizado via serial (no PC via USB usando um conversor
USB/RS232) e o PIC recebe via RS232 e faz o que tem pra fazer no robô.

Detalhes da interface pode ser encontrado em:
http://www.epanorama.net/documents/joystick/pc_joystick.html

Essa página eu encontrei com uma pesquisa no google por: Joystick programmer
guide.

Se precisar de um controle em tempo real, tu deves utilizar o kernel
linux-rt e fazer as coisas como um módulo do kernel, e não um programa de
usuário normal.

É por aí a sua dúvida?

André Cavalcante
Porto Alegre, RS.
Ubuntu User number # 24370



More information about the ubuntu-br mailing list