se eu utilizar um PIC24FJ256DA206 e configurar o usb facilita? aplica-se melhor ao que eu pretendo e assim não tenho que instalar drivers?
Boas,
A comunicação por USB nada tem a ver com os outros tipos de comunicação mais
comuns (UART, SPI, I2C, etc) . Para uma comunicação USB num MCU necessitas
de 2 coisas:
- Que o MCU implemente USB e que tenha o hardware que permita isso, a este
hardware damos o nome de PHY (abreviativo de "physical layer") e pode ser
interno ou externo ao MCU. É claro que sendo interno torna tudo MUITO mais
fácil.
- Depois necessitas de ter o chamado "USB stack", que nada mais é do que o
código (firmware) que vai permitir enumerar a ligação USB e implantar as
várias classes de comunicação que podes usar numa ligação USB.
O problema está na implementação do stack USB, ao contrário de uma porta
serie, por exemplo, a comunicação por USB está sujeita a uma especificação
muito mais complexa, tens que começar por escrever/definir os chamados
"descritivos USB" onde vais enumerar as classes que vais usar, onde informas
qual o teu PID e VID, quais os endpoints que vão ver usados e para que classes
vão estar associados, etc, etc.
Depois tens que escrever código para tratar de comunicação entre os endpoints
de cada classe, o que é realmente programação muito avançada.
Não sei se a Microchip fornece libs para implementar a comunicação USB com
os seus MCU, mas existem alguns fabricantes/toolchains que oferecem já
o firmware para tal. Mas isso não te livra de teres que ser tu a implementar
depois o tratamento dos dados nos endpoints da CDC para emular a VCP.
Tudo isto para dizer que mais vale seguires a sugestão do Sérgio_Sena e usar
um cabo conversor USB<->UART e usar a porta UART do MCU.
Abraços,
PA