Ir ao conteúdo
  • Cadastre-se

HJArmando

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa noite .if Desde já agradeço sua ajuda. Fiz este teste e por algum motivo só apareceu as letras e não os numeros da conversão de inteiro para hexa, alem disso ficou aparecendo uns caracteres estranhos no terminal virtual (simulador proteus). Teria como separar o interio, por exemplo: 2475 e enviar o 24 e depois 75 ? sem conversão?
  2. Boa noite. Estou começando recentemente a programar em C e por algumas recomendações estou usando o CCS C compiler. Estou fazendo um projetinho caseiro com PIC 18F4680 para enviar o RPM (pegando pulso da bobina) para o celular via bluetooth (usando o HC05). Fazendo uma breve pesquisa percebi que a comunicação serial tem a limitação de enviar 8bit's, e o valor do RPM convertido excede esses 8bit's. A ideia foi usar o timer1 e depois fazer uma conta matemática e obter o resultado em decimal, por exemplo, 2475 RPM, mas para enviar esse valor pelo serial não rolou, então tentei dividir por 100 (2475/100=24,75) e enviar, porém só transmito o 24 e o restante depois da virgula desaparece. Tentei algumas funções como, PUTC, vetor[] e etc, mas não tive sucesso. A pergunta é: tem alguma forma mais simples de enviar esse valor? PIC 18F4680 Desde já, agradeço. =================================================================================== #INT_EXT // Interrupção externa void EXT_isr(void) // Logica da contagem do timer { if (X = 1) // X variavel que recebe o pulso da bobina { RPM1 = get_timer1(); // Armazena a contagem do timer set_timer1(5); // Degrau do timer CALC_RPM = (1/(RPM1*0.000001599))*60; // Calculo do RPM RPM = CALC_RPM; // Armazena o resultado do calculo do RPM RPM_RS232 = (CALC_RPM/100); // Armazena o calculo do RPM e converte p/ ser enviado p/ SERIAL } else if (x = 0) { set_timer1(0); } } ================================================================================= #INT_RDA // Interrupção SERIAL (RS232) void RDA_isr(void) { letra=getc(); switch (letra) //Armazena buffer vindo do RS232 { case 'C': //Se chegar 'C' da serial RS232, manda RPM p/ o painel printf("\r\n%lu\r\n",RPM_RS232); break; //Pausa

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...