problema con RS 232

V

vermi

Guest
Ciao ragazzi ..
So che questo molto semplice .. ma ancora avere i problemi con questa ...
ok, prima ho i miei vecchi bordo (1 attiny 2313 MAX232) che continuano a lavorare bene (suppongo ... e può vedere il motivo per cui nel mio prossimo spiegazione ...) e il mio nuovo consiglio (1 attiny 2313 max 232).

il problema sono i seguenti:
1.nel mio vecchio bordo, il programma viene eseguito in basso ... ma anche nel mio nuovo consiglio
doesnt eseguire well.Both bordo, i test con HyperTerminal ... nel mio vecchio bordo del suo ritorno sempre bene, ma nella mia nuova pensione (il suo ritorno carattere 'w' root o carattere o un altro personaggio che in
doesnt ascii tabella ...)
Codice:/************************************************* ****

Tipo di chip: ATtiny2313

Frequenza di clock: 4,000000 MHz************************************************** *** /# include <tiny2313.h>

# include <delay.h># define RXB8 1

# define TXB8 0

# define UPE 2

# define ovr 3

# define FE 4

# define UDRE 5

# define RXC 7# define FRAMING_ERROR (1 <<FE)

# define PARITY_ERROR (1 <<UPE)

# define DATA_OVERRUN (1 <<ovr)

# define DATA_REGISTER_EMPTY (1 <<UDRE)

# define RX_COMPLETE (1 <<RXC)/ / Prendi un carattere da USART Receiver

# ifndef _DEBUG_TERMINAL_IO_

# define _ALTERNATE_GETCHAR_

# pragma utilizzati

char getchar (void)

(

char status, i dati;

while (1)

(

mentre (((status = UCSRA) & RX_COMPLETE) == 0);

UDR = dati;

if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN)) == 0)

restituzione dei dati;

);

)

# pragma-utilizzati

# endif/ / Scrivi un carattere a USART Transmitter

# ifndef _DEBUG_TERMINAL_IO_

# define _ALTERNATE_PUTCHAR_

# pragma utilizzati

void putchar (char c)

(

while ((UCSRA & DATA_REGISTER_EMPTY) == 0);

UDR = c;

)

# pragma-utilizzati

# endif/ / Standard Input / Output funzioni

# include <stdio.h>/ / Variabili globali Dichiarare il tuo quivoid main (void)

(

char temp;
/ / USART inizializzazione

/ / Parametri di comunicazione: 9 Data, 1 Stop, n. Parità

/ / USART Receiver: Il

/ / USART trasmettitore: Il

/ / USART Mode: Asynchronous

/ / USART Baud Rate: 9600

UCSRA = 0x00;

UCSRB = 0x1C;

UCSRC = 0x06;

UBRRH = 0x00;

UBRRL = 0x19;while (1)

(

/ / Luogo il codice qui

temp = getchar ();

UCSRB = UCSRB & 0xFE;

putchar (temp););

)

 
Hey there,

Jus visto il tuo schema.

Provare a utilizzare condensatori 10uF invece dei condensatori utilizzati.tutti loro.Noi ve utilizzati 10 uF e funziona bene.

Auguriamo che questo possa aiutare

Bhargav

 

Welcome to EDABoard.com

Sponsor

Back
Top