USB - 18F4550 - MikroC e C++ Builder(Exemplos)

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor cgxtreme » 31 Out 2008 09:03

Grato Jorge!!

Ps: Se você recebeu mais de uma PM< desculpe. Tava dando erro no envio. Fui postar aqui e deu a mesma coisa, tanto que dei double post =(
Existem 0b10 tipos de pessoas: as que entendem binário e as que não.
Avatar do usuário
cgxtreme
Bit
 
Mensagens: 17
Registrado em: 02 Jun 2008 16:09

Mensagempor Jorge_Francisco » 31 Out 2008 09:24

Tudo bem, eu vi e imaginei isso, não tem problema. Só respondi por aqui porque já estava aberto e não teria sentido responder nos dois.

Vlw
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor cgxtreme » 20 Nov 2008 07:44

Se eu preciso enviar e receber informações pelo PIC eu tenho que ter 2 endpoints diferentes, ou posso usar um só??

No descritor ele gera o endpoint1 como RX e como TX.

Mas na aplicação, quando abro a conexão com MPUSBOpen, eu preciso dizer a direção da comunicação.

No caso eu teria que fazer:

MPUSBOpen(pra enviar)
Envia informação
Fecho a conexão
MPUSBOpen(pra receber)
Recebe a informação
Fecho a conexão

???
Existem 0b10 tipos de pessoas: as que entendem binário e as que não.
Avatar do usuário
cgxtreme
Bit
 
Mensagens: 17
Registrado em: 02 Jun 2008 16:09

Mensagempor mrcdlf » 15 Dez 2008 07:39

aproveitando o topico...

para todos esses projetos funcionarem eu preciso carregar o bootloader no pic, certo?
como posso fazer isso?
mrcdlf
Bit
 
Mensagens: 18
Registrado em: 23 Out 2008 08:01

Mensagempor Jorge_Francisco » 15 Dez 2008 09:38

cgxtreme escreveu:Se eu preciso enviar e receber informações pelo PIC eu tenho que ter 2 endpoints diferentes, ou posso usar um só??

No descritor ele gera o endpoint1 como RX e como TX.

Mas na aplicação, quando abro a conexão com MPUSBOpen, eu preciso dizer a direção da comunicação.

No caso eu teria que fazer:

MPUSBOpen(pra enviar)
Envia informação
Fecho a conexão
MPUSBOpen(pra receber)
Recebe a informação
Fecho a conexão

???


As funções da Dll são as usadas para porta serial e paralela, mas colocadas com outro nome, então pode-se colocar ou alterar esta funções para ler e escrever sem ter que fechar a conexão.
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor Jorge_Francisco » 15 Dez 2008 09:41

mrcdlf escreveu:aproveitando o topico...

para todos esses projetos funcionarem eu preciso carregar o bootloader no pic, certo?
como posso fazer isso?


Para que funcionem, precisa apenas gravar os arquivos que coloquei aqui(depois de compilados e gerado o .hex,lógico).
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor mrcdlf » 15 Dez 2008 10:34

Jorge_Francisco escreveu:
mrcdlf escreveu:aproveitando o topico...

para todos esses projetos funcionarem eu preciso carregar o bootloader no pic, certo?
como posso fazer isso?


Para que funcionem, precisa apenas gravar os arquivos que coloquei aqui(depois de compilados e gerado o .hex,lógico).


ok Jorge,

eu fiquei confuso porque vi outros artigos em que dizia que o pic18F2550/4550 não vinha com o bootloader e nesses tinha separado o codigo e o bootloader... nesse caso não precisa ou já é gravado automatico?

um dos projetos que vi e que me surgiu a duvida foi desta pagina http://www.semifluid.com/?p=23 tem o codigo e o bootloader separado... e não consegui gravar o bootloader com o tiny... parece que o codigo fica enviando dados serial direto .... !?
mrcdlf
Bit
 
Mensagens: 18
Registrado em: 23 Out 2008 08:01

Mensagempor SoMeWhErE » 15 Dez 2008 12:10

Olá....

entaum gostaria de saber do pessuar que trabaiá com USB....se tem algum flag, que sinaliza se a USB está comunicando..., fora a leitura do +5 da USB com um resistor ligado em um dos pinos, mas vai que tipo de um problema na inicialização e o pc não reconhece...tem algum flag que
sinaliza se a comunicação está Ok.

estou trabalhando com PIC18F4550 e a HID Library do MikroC.

só uma nota pro pessuar que está começando igual a mim.
Tive muitos problemas com a USB, que deixei Brown-Out e MCLR desligado (mesmo assim deixei um resisor de 10k ao +5 no MCLR) e o funcionamento do PIC ficou instável, as vezes reconhecia outras não, a partir do momento que ativei o MCLR pararam os problemas.
Avatar do usuário
SoMeWhErE
Byte
 
Mensagens: 119
Registrado em: 20 Jun 2007 18:09
Localização: Charqueada

Mensagempor Jorge_Francisco » 03 Jun 2009 23:17

Seguinte, já tenho uma certa experiência com a USB do pic, então resolvi esclarecer algumas dúvidas.

1º - Você pode colocar qualquer VID(Vendor ID) e PID(Product ID) no descriptor, mas se quer comercializar seu produto consulte o site da USB.org. Na hora de fazer a comunicação com o PC, ou seja, fazer o seu programa em VB,Delphi ou C++ Builder, lembre-se de alterar também o VID e o PID.

2º - Problemas com o não reconhecimento do HID se dá por alguns motivos:

-Falta de um capacitor no pino Vusb(pino 18 no 18F4550). Pode-se colocar dois de 100nF em paralelo ou dois de 1uF em série.

-O seu descriptor está configurado para receber alimentação pela USB( bus powered). Uma dica é colocar um resistor no Vcc(+5V) que vem da USB e a outra ponta ligar em um pino, e no começo de main monitorar(while(!pino em 0)) a alimentação chegar a 5V.

-Um dos maiores problemas que acontecem é aquele erro de "Dispositivo desconhecido", aparece a mesma mensagem no problema acima, o que descobri é que o capacitor que filtra(ruído ou regulação) acaba ficando carregado e as configurações USB não são recarregadas(não me pergunte porque, entre em contato com Microchip). A solução que uso em diversos equipamentos é colocar um resistor de 560 bem próximo ao PIC, entre o VCC e o GND, assim descarregando o capacitor de forma mais rápida.


3º - Muita gente me pergunta porque após gera o seu descriptor não conseguem Adiciona-lo(Add to Project). A resposta é : tem que salvar com o nome que quiser e colocar o '.c' no final, aí sim o "Add to Project" reconhecerá o descriptor.

4º - Tem um Bug na versão 6 que NÃO permite gerar um descriptor para "self powered", ou seja, alimentado por fonte própria, por isso o erro de reconhecimento com muitas pessoas. Não sei em que versão foi corrigido isso, ou até mesmo, se corrigiram.

Acho que por enquanto é isso.

Vlw
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Comunicação USB (PIC18F4550 / MikroC).

Mensagempor welltom » 10 Jun 2009 21:44

Gostaria que ver um dos meus projetos funcionando em USB,
tenho programado alguns PICS em basic e C, comunicando atraves
das portas seriais do PC, será os colegas mais experientes poderia
postar um exemplo usando a linguagem e PIC18F4550 funcionando
em USB , por exemplo (Ligar e desligar um led, ligado a um pino
do PIC18F4550), ao enviar o caracter 1 pela porta USB o led acende,
quando enviar 0 ele apaga, teria que ser um exemplo desse tipo,bem
simples para que possa estudar e entender, se algun quiser postar ou
enviar por email, ficarei grato...,
Anselmo
w-anselmo@bol.com.br
welltom
Bit
 
Mensagens: 44
Registrado em: 30 Ago 2007 05:24

Mensagempor Jorge_Francisco » 07 Ago 2009 18:26

cgxtreme escreveu:Se eu preciso enviar e receber informações pelo PIC eu tenho que ter 2 endpoints diferentes, ou posso usar um só??

No descritor ele gera o endpoint1 como RX e como TX.

Mas na aplicação, quando abro a conexão com MPUSBOpen, eu preciso dizer a direção da comunicação.

No caso eu teria que fazer:

MPUSBOpen(pra enviar)
Envia informação
Fecho a conexão
MPUSBOpen(pra receber)
Recebe a informação
Fecho a conexão

???


Faz tempo hein, mas não custa nada responder agora:

Não precisa fechar,basta colocar MP_READ | MP_WRITE.

Identico a porta serial: GENERIC_READ | GENERIC_WRITE.
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Re: Comunicação USB (PIC18F4550 / MikroC).

Mensagempor Jorge_Francisco » 07 Ago 2009 18:27

welltom escreveu:Gostaria que ver um dos meus projetos funcionando em USB,
tenho programado alguns PICS em basic e C, comunicando atraves
das portas seriais do PC, será os colegas mais experientes poderia
postar um exemplo usando a linguagem e PIC18F4550 funcionando
em USB , por exemplo (Ligar e desligar um led, ligado a um pino
do PIC18F4550), ao enviar o caracter 1 pela porta USB o led acende,
quando enviar 0 ele apaga, teria que ser um exemplo desse tipo,bem
simples para que possa estudar e entender, se algun quiser postar ou
enviar por email, ficarei grato...,
Anselmo
w-anselmo@bol.com.br


Tem na primeira página deste POST.
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor Jorge_Francisco » 07 Ago 2009 18:30

Seguinte, o exemplo do C++ Builder que postei funciona muito bem no XP, mas por algum motivo no Vista e no Seven(Win 7) ele atribui outro numero de instância ao dispositivo, então basta alterar uma parte do código para :

Código: Selecionar todos

   DWORD max_count;

   max_count = MPUSBGetDeviceCount(vid_pid);

   for(int i = 0; i < MAX_NUM_MPUSB_DEV; i++)
   {
   myInPipe = MPUSBOpen(i,vid_pid,NULL,MP_READ,0);
      if(myInPipe != INVALID_HANDLE_VALUE)
      break;
   }




Vlw
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor Nicolai_S » 18 Ago 2009 13:33

Ola pessoal !!!!

Preciso de ajuda com programa em C Builder usando a DLL MPUSBAPI.
Montei uma placa de testes com o PIC 4550 , programei em MicroC, programa exemplo da revista Saber Eletronica e funciona 100% com o HID TOOL do MicroC.
Agora prá funcionar em C Builder tá uma briga , as funções GetDeviceCount e MPUSBOpen rodam normal mas não consigo mandar nada pro PIC usando o MPUSBWRITE.
Alguem tem um programa exemplo que possa enviar ?
Ou algo q me ajude !!
Grato

Nicolai
Nicolai_S
 
Mensagens: 1
Registrado em: 30 Jun 2009 22:13

Mensagempor Frederico » 09 Set 2009 20:14

Que mal pergunte, alguem conseguiu fazer os exemplos de aplicação CDC e HID indicados no C da CCS rodar em LINUX sem problemas?
Frederico
 
Mensagens: 3
Registrado em: 15 Out 2006 20:11

AnteriorPróximo

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x