Problemas, bluetooth zt-05 e usart 18f4550

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Problemas, bluetooth zt-05 e usart 18f4550

Mensagempor adrianleite » 07 Jan 2015 22:00

Olá senhores, estou à alguns dias quebrando a cabeça com a comunicação do PIC com meu modulo bluetooth zt-05.
Ocorre a comunicação, mas os dados não coincide.

Meu código basicamente faz: eu envio um byte para o pic via bluetooth e o pic devolve o mesmo. E uma condição, caso o byte seja 0x10 liga um led.

Mas o byte devolvido nunca é o mesmo.
Segue parte do meu código. Se alguem poder me ajudar agradeço.

Código: Selecionar todos
#define _XTAL_FREQ 48000000

#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
#include <usart.h>

int dado = 0;
int flag = 0;

void interrupt interrupcoes() {
    //check if the interrupt is caused by RX pin
    if (PIR1bits.RCIF) {
        dado = ReadUSART(); //read the byte from rx register
        flag = 1;
        PIR1bits.RCIF = 0; // clear rx flag
    }
}

void delay_seg(int tempo){
    tempo = tempo * 100;
    do{
        __delay_ms(10);
    }while(tempo-- > 0);
}

void main(void) {
    // LED 1 = ENTRADA, 0 = SAIDA
    TRISDbits.RD0 = 0;
    TRISDbits.RD1 = 0;

    // Configura a usart
    TRISCbits.RC6 = 0; //TX pin set as output
    TRISCbits.RC7 = 1; //RX pin set as input

    //compare with the table above
    PIR1bits.RCIF = 0; //reset RX pin flag
    RCIP = 0; //Not high priority
    RCIE = 1; //Enable RX interrupt
    INTCONbits.PEIE = 1; //Enable pheripheral interrupt (serial port is a pheripheral)
    INTCONbits.GIE = 1; //HABILITA AS INTERRUPCOES

    OpenUSART(USART_TX_INT_OFF &
            USART_RX_INT_ON &
            USART_ASYNCH_MODE &
            USART_EIGHT_BIT&
            USART_BRGH_HIGH, 129);// Crystal 20MHz e Taxa 9600
   
    PORTDbits.RD0 = 0;

    while(1){
        PORTDbits.RD1 = !PORTDbits.RD1;
        delay_seg(1);
        if(flag == 1){
            flag = 0;
            WriteUSART(dado);
            if(dado == 0x10){
               PORTDbits.RD0 = !PORTDbits.RD0;
            }
        }
    }
}


Obs. Comunicação com usart 9600.
Cristal 20Mhz. E estou usando o bootloader da microchip.
Tirei uma foto da montagem tbm.
Você não está autorizado a ver ou baixar esse anexo.
adrianleite
Bit
 
Mensagens: 5
Registrado em: 09 Jul 2014 18:02

Re: Problemas, bluetooth zt-05 e usart 18f4550

Mensagempor tcpipchip » 08 Jan 2015 07:39

ola, pode dar detalhes do projeto ? Estas usando bluetooth nos 2 lados ? Ou estas esperando um ECHO da USART ?

Ainda nao esta claro o que estas fazendo...
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Problemas, bluetooth zt-05 e usart 18f4550

Mensagempor adrianleite » 08 Jan 2015 12:37

tcpipchip escreveu:ola, pode dar detalhes do projeto ? Estas usando bluetooth nos 2 lados ? Ou estas esperando um ECHO da USART ?

Ainda nao esta claro o que estas fazendo...


Estou usando bluetooth dos dois lados.
Assim. Envio um byte pelo smartphone "Android" para modulo bluetooth, o modulo bluetooth envia o byte para o pic pela usart, o pic verifica se é o byte 0x10, caso sim acende um led, depois o pic envia este mesmo byte de volta, fazendo o caminho reverso.

Mas o PIC não acende o led e eu não recebo o mesmo valor.

Já usei dois apps e da o mesmo resultado. Estou usando XC8 e MplabX, os fuses é o do bootloader da microchip
adrianleite
Bit
 
Mensagens: 5
Registrado em: 09 Jul 2014 18:02

Re: Problemas, bluetooth zt-05 e usart 18f4550

Mensagempor tcpipchip » 08 Jan 2015 14:58

Bota un sniffer para ver o que o bluetooth esta mandando ao pic
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Problemas, bluetooth zt-05 e usart 18f4550

Mensagempor adrianleite » 09 Jan 2015 19:47

tcpipchip escreveu:Bota un sniffer para ver o que o bluetooth esta mandando ao pic

Eu coloquei um lcd para ver o que o pic esta recebendo. Hora parece caracter estranhos ou letras trocadas.

Acabei isolando o modulo bluetooth e ligando o pino TX no RX do próprio modulo e esta funcionando normalmente. Mudei também a taxa de 9600 para 38400 tanto quanto do bluetooth e do pic e nada mudou.

Esta parecendo a configuração da usart mas eu não consigo enxergar o problema.
adrianleite
Bit
 
Mensagens: 5
Registrado em: 09 Jul 2014 18:02

Re: Problemas, bluetooth zt-05 e usart 18f4550

Mensagempor adrianleite » 11 Jan 2015 00:14

Olá novamente. Descobri o erro, era de comunicação. Eu estava calculando o baud da usart com a velocidade do crystal (20Mhz) e não o correto que é o clock (48Mhz).

Então para deixar registrado. A formula.
baud = ((clock / taxa) - 16) / 16

Taxa se transmissão da usart (9600, 38400, etc.)

Obrigado aos amigos pela preocupação e o tempo tomado. Abç.
adrianleite
Bit
 
Mensagens: 5
Registrado em: 09 Jul 2014 18:02


Voltar para PIC

Quem está online

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

x