Diante da dificuldade em
usar a USB e da sua complexidade, simplesmente desistimos de usa-lá
optando por usar a RS-232 , mesmo sabendo que existe exemplos pré
compilados da microchip (motivo pelo qual nem vou implementar um
exemplo para o blog neste momento) existe a dificuldade em fazer tudo
funcionar por falta de tempo ou mesmo experiência.Nesta matéria vou apenas
descrever os passos para usar a USB:
-> entenda como é o
protocolo USB, procure na internet materiais que o faça entender o
processo de comunicação(ex.
http://www.apostilando.com/download.php?cod=2899&categoria=Hardware
ou por
exemplo http://homepages.dcc.ufmg.br/~adrianoc/usb/
, enfim existe muito material sobre a usb na web).
-> leia o datasheet no
item "UNIVERSAL
SERIAL BUS(USB)" (aqui eu usei o
PIC18F4550), assim você terá um entendimento de como o hardware
controla a usb e o modulo SIE(Serial
Interface Engine).
->após entender e
compreender a usb você precisa instalar o compilador C18(pode ser a
versão trial ou acadêmica(não expira, a diferença da versão para
é algumas otimizações)).
-> depois de instalado o
C18 é hora de instalar o drive usb para dispositivos microchip,
procure no site da microchip por "USB framework" ,baixe a
versão feita para seu sistema operacional veja neste link :
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2896
, instale o drive.
->baixe agora o pacote de
exemplos da microchip
"microchip-libraries-for-applications-v2013-06-15-windows-installer.exe",
essa versão depende de quando saiu a atualização dos exemplos da
microchip.Quando esse arquivo é executado é criado em seu pc uma
pasta que fica geralmente em :
"C:\microchip_solutions_v2013-06-15"
dentro desta pasta existe vários exemplos.
->supondo que vc tenha o
MPlab XC8 instalado, está tudo pronto pra rodar os exemplos usb,abra
o XC8 vá em "Open project " procure a pasta que acabou de
ser criada (microchip solution) e dentro dela busque pela pasta
USB,entro desta pasta existe muitos exemplos, aqui vou pegar o
exemplo "Device-CDC – Basic Demo"(neste exemplo é
emulado uma porta RS-232/USB ) , quando esse exemplo for selecionado
o compilador irá buscar todo os arquivos(includes) que compõem o
exemplo,agora escolha uma das placas de exemplo pra selecionar o
microcontrolador(para o 18F4550 é PCDEM_FSUSB, veja a
figura),compile o código e pronto !
-> agora vá a pasta
"Device - DC – Basic Demo" e procure por "PC Dynamic
Software Example" nesta pasta contem um software pra vc testar
se o programa funcionou,basta rodar o software e plugar a sua placa
na usb (veja neste site um exemplo :
http://www.waitingforfriday.com/index.php/PIC_USB_Development_Board
) irá aparecer uma notificação do windows sobre o hardware
conectado e então após o windows instalar os drives no programa
aparece a mensagem de que está conectado e qual a porta criada("COM3
ou COM4 ou qualquer outra porta COM"). A partir de agora é só
mexer no código para adapta-ló a sua necessidade(em breve pretendo
colocar um exemplo usb).
Parabéns, estou baixando o pacote de exemplos, e tem a versão v2013-12-20.
ResponderExcluirLembro que anos atrás era muito complicado trabalhar com USB, havia poucos compiladores que ofereciam uma biblioteca funcional, e lembro que por volta de 2010, tive dificuldade para encontrar esses exemplos de USB para serial com PIC, chegando a desistir e comprar um adaptador USB para serial, caro que hoje em dia, um cabo desses é mais barato que o próprio PIC, mas fazer o quê? Né!
Uma alternativa muito bacana é a implementação de USB em microcontrolador sem hardware de USB que é feita em chips AVR, seria muito interessante se essa biblioteca pudesse ser compilada para uso em um PIC, pois daria 'asas' para muitos uC's.
Muito obrigado pela ajuda. Depois de tantos anos ainda está disponível. Deus te abençoe com muita saúde.
ResponderExcluir