picminas
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Receber dados pela serial

Ir para baixo

Receber dados pela serial Empty Receber dados pela serial

Mensagem  wellingtonfreitas Sex maio 04, 2012 10:53 am

Olá amigos!
Possuo o kit PICminas. A dias estou tentando enviar e receber dados pela seria. Utilizo esse programa ROGERCOM para testar.
Já fiz o circuito com max232 tudo certinho. já consegui enviar um caractere pela seria e aparecer no programa, mas até agora não consegui receber. segue abaixo o código:

/******************************************************************************
*
* PICMINAS PROJETOS (PIC18F4550)
*
******************************************************************************
* Nome do Arquivo: main.c
* Dependencias: Veja a seção INCLUDES abaixo
* Processador: PIC18F4550
* Opção de Clock: HS 20MHz (externo)
* Compilador: C18 v3.20 ou superior
* Empresa: PICMINAS
* Prática:
* Descrição:
*
*****************************************************************************/

/** I N C L U D E S **********************************************************/
#include <p18cxxx.h> // Necessário para que o compilador adicione a biblioteca
// com as definições do PIC selecionado no projeto, neste
// caso, o modelo 18F4550.
#include <usart.h>
#define CH1 PORTEbits.RE2
#define L LATCbits.LATC2
/** V A R I A V E I S G L O B A I S ****************************************/

/** P R O T O T I P O S P R I V A D O S ***********************************/
void ConfiguraSistema(void);
void HighPriorityISRCode();
void LowPriorityISRCode();
/** F U N C O E S ************************************************************/
/******************************************************************************
* Funcao: void main(void)
* Entrada: Nenhuma (void)
* Saída: Nenhuma (void)
* Descrição: Função principal do programa.
*****************************************************************************/
void main(void)
{
char a='A';
char b='c';
ConfiguraSistema(); // Configura as portas e periféricos do PIC.
TRISEbits.TRISE2=1;
TRISCbits.TRISC2=0;

while(1) // Laço infinito que executa o funcionamento principal do projeto.
{
if(!BusyUSART())
{
if(CH1){
WriteUSART(a);
}
if(DataRdyUSART( )){ // verificar se chegou um dado novo

b= ReadUSART(); //lê o valor via serial
if(b=='s'){
L=1;// acende o LED verde
}
}
}
}//end while(1)
}//end main

/******************************************************************************
* Funcao: void ConfiguraSistema(void)

*****************************************************************************/
void ConfiguraSistema(void)
{

// Configura LED's do KitPICMinas: saida digital
ADCON1 |= 0x0F; // configura todas as portas como digitais
OpenUSART(
USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_SINGLE_RX &
USART_BRGH_HIGH &
USART_ADDEN_OFF
,
155
);
// TRISCbits.TRISC2=0; // RC0: saida digital - LED_VERDE

}//end ConfiguraSistema


/** V E C T O R R E M A P P I N G ******************************************/
// Rotina necessária para o compilador C18 saber onde é o início do vetor de
// "reset".
// Copiar na íntegra esta parte do código dentro do arquivo "main.c" de TODO
// projeto usado com o Bootloader no PIC.

extern void _startup (void); // See c018i.c in your C18 compiler dir
#pragma code REMAPPED_RESET_VECTOR = 0x1000
void _reset (void)
{
_asm goto _startup _endasm
}
/** EOF main.c ***************************************************************/

wellingtonfreitas

Mensagens : 1
Data de inscrição : 04/05/2012

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos