Ir ao conteúdo
  • Cadastre-se

felipeetec

Membro Pleno
  • Posts

    191
  • Cadastrado em

  • Última visita

Tudo que felipeetec postou

  1. Cara, tentei usar esse seu controle de erro, mas n esta dando certo, ele da muito erro, Tem algum macete pra usar esse controle de erro?
  2. Matheus brigadão mesmo pela ajuda, vou dar uma estudada no que você me passou agora, e tentar montar um programinha, qualquer duvida eu volto aqui.ahuauauha obs:ando meio sem tempo ultimamente por causa que estou me preparando para o vestibular, e pode ser que demore um pouco pra eu entrar novamente e responder o meu progresso, mas você já me deu uma ótima base, muito obrigado.
  3. Ixi cara, tentei entender como fazer um programa para o pc com o intuito de controlar o pic pela usb, mas n consegui, tem como você me dar uma luz, mais uma vez....hhuahuahuhua
  4. o aplicativo eu sei, mas qero saber a extensão do arquivo que está o código da programação.
  5. beleza, valeu pela ajuda. qual é a extensão do código do aplicativo, é que tem um monte de arquivo mas n sei qual abrir.
  6. beleza, irei fazer isso , mas essa ainda n é a parte critica, o mais difícil vai ser o software....sera que tem como você me dar mais um help nessa parte???
  7. ainda n ta funcionando estou usando o virtual terminal do proteus mas tudo bem vou deixar essa parte um pouco de lado agora, e qeria saber se você pode me explicar o basico da programação pro software que vai no pc??
  8. engraçado. depois que eu envio o codigo, eu tenho que enviar algum lixo pra ele trocar o portb0
  9. o Cristal é de 12Mhz estou testando no proteus e estou enviando o seguinte "Felipe " TA certo isso? e ele deveria inverter o estado do port b0
  10. ixi cara n ta funcionando nao n sei porque, ele demora pra respodenr
  11. eu fiz pro 16f628a e funcionou...mas quero implementa-lo e adc aqela parte que você falou da senha:Felipe.
  12. o que pensei em fazre foi isso, mas n creio que esteja correto adiantando já, será que teria como você me explicar também, como fazer um programinha simples para o pc, para enviar dados pela usb, tipo 5 botões e cada um envia um valor para a usb??
  13. ah parte do driver acabei de resolver, tive que reler os posts... Testei no Proteus e funcionou legal, sem modificar isso que você falou.Mas n esperimentei enviar dados do host pro pic. Vou partir pro Receptor agora. Será que você poderia dar uma breve explicação do código do recptor como você fez com o transmissor??? O programa está ficando assim: #include <16f628a.h> #fuses HS,EC_IO,NOWDT,MCLR,BROWNOUT,NOPROTECT,NOLVP,NOCPD #use delay (clock = 12000000) //------------------------------ #define WireTX PIN_B2 #define WireRX PIN_B1 //<----- //------------------------------ #use rs232(baud=9600,parity=N,xmit=WireTX , rcv=WireRX ,bits=8,ERRORS , STREAM=Wireless) unsigned int8 data; int flag=0; #define IN1 PIN_A0 //Pinos de controle do L293D #define IN2 PIN_A1 #define IN3 PIN_A2 #define IN4 PIN_A3 #int_rda void rd_isr(void) { disable_interrupts(INT_RDA); // Disable Serial Recieve Interrupt disable_interrupts(GLOBAL); // Disable Global Interrupts data= fgetc(Wireless); if(data=='P') { flag=1; } if(data=='E') { flag=2; } if(data=='D') { flag=3; } if(data=='C') { flag=4; } if(data=='B') { flag=5; } enable_interrupts(GLOBAL); enable_interrupts(INT_RDA); } void main() { enable_interrupts(int_rda); enable_interrupts(global); output_high (PIN_D2); for(; { Switch (flag) { Case 1: { output_low (IN1); output_low (IN2); output_low (IN3); output_low (IN4); break; } Case 2: { output_low (IN2); output_low (IN3); output_low (IN4); output_high (IN1); break; } Case 3: { output_low (IN1); output_low (IN3); output_low (IN4); output_high (IN2); break; } Case 4: { output_low (IN1); output_low (IN2); output_low (IN4); output_high (IN3); break; } Case 5: { output_low (IN1); output_low (IN2); output_low (IN3); output_high (IN4); break; } flag=0; } } } Mas estou com uma dúvida como eu faço pra ele começar a trablhar só quando ele receber inicialmente a string "Felipe "?? Eu vi no outro programa do sensor de temperatura o que você fez mas n entendi muito bem.
  14. hum entendi, eu tenho que habilitar as interrupções globais também? ? Olha como ficou agora: #include <18f4550.h> #define WireTX PIN_C6 #define WireRX PIN_C7 #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN #use delay (clock = 48000000) #use rs232(baud=9600, xmit=WireTX, rcv=WireRX, ERRORS, STREAM=Wireless) #define USB_HID_DEVICE FALSE //Desabilitamos as diretivas HID #define USB_EP1_TX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for IN bulk/interrupt transfers #define USB_EP1_RX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for OUT bulk/interrupt transfers #define USB_EP1_TX_SIZE 4 //size to allocate for the tx endpoint 1 buffer #define USB_EP1_RX_SIZE 8 //size to allocate for the rx endpoint 1 buffer #include <pic18_usb.h> //Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver #include <PicUSB.h> //Configuración del USB y los descriptores para este dispositivo #include <usb.c> //handles usb setup tokens and get descriptor reports #define LED_OK PIN_B6 #define LED_FAIL PIN_B7 #define LED_ON output_high #define LED_OFF output_low #define modo recebe[0] #define param1 recebe[1] #define param2 recebe[2] #define param3 recebe[3] #define param4 recebe[4] void main(void) { int8 recebe[5]; LED_OFF(LED_OK); //acendemos o led vermelho LED_ON(LED_FAIL); usb_init(); //inicializa a USB usb_task(); //habilita periférico usb e interrupções usb_wait_for_enumeration(); //esperamos até que o periférico PicUSB seja configurado pelo host LED_OFF(LED_FAIL); LED_ON(LED_OK); //acendemos o led Verde fprintf(Wireless, "%c", 0xBA); // LAM - algo para que o RX's USART "lock onto", algo do tipo, olhe receptor, estoua qui fprintf(Wireless, "%c", 0xBE); // LAM - algo para que o RX's USART "lock onto", algo do tipo, olhe receptor, estoua qui fprintf(Wireless, "%c", 0xFA); // LAM - algo para que o RX's USART "lock onto", algo do tipo, olhe receptor, estoua qui fprintf(Wireless, "%c", 0xCE); // LAM - algo para que o RX's USART "lock onto", algo do tipo, olhe receptor, estoua qui fprintf(Wireless,"Felipe "); // Vou enviar isso ao recptor e ele vai procurar por Dave como sendo a senha, se for correta, manda os dados while (TRUE) { if(usb_enumerated()) //Se o PicUSB está configurado { if (usb_kbhit(1)) //Se o endpoint de saída contem dados do host { usb_get_packet(1, recebe, 5);// Pegamos o pacote do tamanho de 5bytes e o alocamos no recebe if (modo == 0) // Modo Pan e Tilt { if (param1 == 0) { fputc('P',Wireless); //Parâmetro Para delay_ms(20); } if (param1 == 1) { fputc('E',Wireless); //Parâmetro Esquerda delay_ms(20); } if (param1 == 2) { fputc('D',Wireless); //Parâmetro Direita delay_ms(20); } if (param1 == 3) { fputc('C',Wireless); //Parâmetro Cima delay_ms(20); } if (param1 == 4) { fputc ('B',Wireless); //Parâmetro Baixo } } } } } Fui testar ele aparecce o nome na tela do dispositivo que foi conectado, mas pede para instalar o driver, qual driver seria esse???
  15. mas qual a diferença, eu ainda n entendi, uma diferença que eu notei foi você ligar e desligar o transmissor. mas pra que?
  16. Pronto peguei o seu programa e modifquei algumas coisa, poucas na vdd, agora surgiram novas dúvidas. 1º: como você fez com o descriptor pra gerar o vid e pid, pois com o mikro eu utilizava um programa qe vem com o mesmo pra gerar esse arquivo. E pude notar que no programa você inclui alguns arquivos, que parecem ter relação com isso: #include <pic18_usb.h> //Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver #include <PicUSB.h> //Configuración del USB y los descriptores para este dispositivo #include <usb.c> //handles usb setup tokens and get descriptor reports 2º Estou utilizando um cristal de 8Mhz, nos fusíveis eu teria que trocar o PLL? 3º Ainda nos Fusiveis, não estou utilizando o conversor analogico, eu tenho que retirar o Vregen, ou não tem nada a ver? Segue o programa abaixo #include <18f4550.h> #define WireTX PIN_C6 #define WireRX PIN_C7 #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN #use delay (clock = 48000000) #use rs232(baud=9600, xmit=WireTX, rcv=WireRX, ERRORS, STREAM=Wireless) #define USB_HID_DEVICE FALSE //Desabilitamos as diretivas HID #define USB_EP1_TX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for IN bulk/interrupt transfers #define USB_EP1_RX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for OUT bulk/interrupt transfers #define USB_EP1_TX_SIZE 4 //size to allocate for the tx endpoint 1 buffer #define USB_EP1_RX_SIZE 8 //size to allocate for the rx endpoint 1 buffer #include <pic18_usb.h> //Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver #include <PicUSB.h> //Configuración del USB y los descriptores para este dispositivo #include <usb.c> //handles usb setup tokens and get descriptor reports #define LED_OK PIN_B6 #define LED_FAIL PIN_B7 #define LED_ON output_high #define LED_OFF output_low #define modo recebe[0] #define param1 recebe[1] #define param2 recebe[2] #define param3 recebe[3] #define param4 recebe[4] void main(void) { int8 recebe[5]; LED_OFF(LED_OK); //acendemos o led vermelho LED_ON(LED_FAIL); usb_init(); //inicializa a USB usb_task(); //habilita periférico usb e interrupções usb_wait_for_enumeration(); //esperamos até que o periférico PicUSB seja configurado pelo host LED_OFF(LED_FAIL); LED_ON(LED_OK); //acendemos o led Verde while (TRUE) { if(usb_enumerated()) //Se o PicUSB está configurado { if (usb_kbhit(1)) //Se o endpoint de saída contem dados do host { usb_get_packet(1, recebe, 5);// Pegamos o pacote do tamanho de 5bytes e o alocamos no recebe if (modo == 0) // Modo Pan e Tilt { if (param1 == 0) { fputc('P',Wireless); //Parâmetro Para delay_ms(20); } if (param1 == 1) { fputc('E',Wireless); //Parâmetro Esquerda delay_ms(20); } if (param1 == 2) { fputc('D',Wireless); //Parâmetro Direita delay_ms(20); } if (param1 == 3) { fputc('C',Wireless); //Parâmetro Cima delay_ms(20); } if (param1 == 4) { fputc ('B',Wireless); //Parâmetro Baixo } } } } } }
  17. hum me esclareceu muitas coisas, mas porque você ultiliza o timer, e qual a função do seguinte trecho: ...ERRORS, STREAM=Wireless)
  18. Obrigado pelo exemplo do RF, mas como ainda sou leigo no ccs não consegui identificar a diferença de fazer uma comunicação serial e outra que utilize RF. fiquei com algumas dúvidas sobre o programa será que você poderia me explicar? por exemplo essa parte: #use rs232(baud=2400, xmit=WireTX, rcv=WireRX, ERRORS, STREAM=Wireless) só entendi a primeira parte sobre a velocidade o resto não compreendi. é uma comunicação serial por software? 2º parte: qual a função das interrupções nesse caso? 3º parte: Qual a função da váriavel "flag"? Desculpe se as perguntas são simplórias, mas é que como estou querendo migrar do mikroc (em que não precisava fazer muita coisa) para o ccs, estou sentindo muitas dificuldades.
  19. Matheus estou montando um projeto qe envolve comunicação usb e comunicação RF(serial) no mesmo pic 18f4550, montei um programa em C e a comunicação usb funcionou perfeitamente mas quando chega a hora da comunicação serial não funciona, n sei porque, como uso o mikroc acho este genérico e gostaria de saber quais as configurações do pic eu teria qe ter em antemão pra poder montar o programa, pois no mikroc basta habilitar as bibliotecas e chamalas, mas acho qe esta havendo conflito entre as mesma, mas n consigo descobrir o porque. Quero migrar para o ccs, será que você poderia me dar umas dicas, ou até mesmo me passar algum material??? Grato
  20. Como assim segurando o terra, você quer dizer tirar o fio terra que vem da usb do computador do circuito??? Alguem tem alguma sugestão? Consegui arrumar galera, era um dos fusiveis que eu precisava alterar. valeu pela ajuda de todos agora ta funfando legalzinho.
  21. Mas estou usando o modo HID, e n tenho o driver especifico, pois no meu entendimento o windows faz isso sozinho. A msg aparece escrito : Dispositivo USB não foi reconhecido. e aparece aqele simbolo do triangulo amarelo com sinal de exclamçao no meio ao lado esquerdo da msg.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!