problem med RS 232

M

mark

Guest
hei folkens ..
Jeg vet at dette ganske enkelt .. men jeg fortsatt får problemer med dette ...
ok, først jeg ha min gamle styret (1 ATTINY 2313 max232) som fortsatt fungerer fint (jeg anta ... u kan se hvorfor i mitt neste forklaring ...) og min nye styret (1 ATTINY 2313 max 232).

problemet er:
1.i min gamle styret, programmet nedenfor kjøres godt ... men i mine nye styret doesnt kjøre well.Both bord, jeg teste med HyperTerminal ... i min gamle styret alltid tilbake godt, men i det nye styret (returen tegn 'w' eller rot tegnet eller et annet tegn på at doesnt i ASCII-tabellen ...)
Code:/************************************************* ****

Chip type: ATTINY2313

Klokke frekvens: 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)/ / Få et tegn fra USART Receiver

# ifndef _DEBUG_TERMINAL_IO_

# define _ALTERNATE_GETCHAR_

# pragma brukes

char getchar (void)

(

char status, data;

mens 1 ()

(

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

data = UDR;

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

return data;

);

)

# pragma brukt -

# endif/ / Skriv et tegn til USART Transmitter

# ifndef _DEBUG_TERMINAL_IO_

# define _ALTERNATE_PUTCHAR_

# pragma brukes

void putchar (char c)

(

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

UDR = c;

)

# pragma brukt -

# endif/ / Standard Input / Output funksjoner

# include <stdio.h>/ / Deklarerer globale variabler hervoid main (void)

(

char temp;
/ / USART initialization

/ / Kommunikasjon Parameters: 9 Data, 1 stopp, ingen paritet

/ / USART Mottaker: On

/ / USART Transmitter: On

/ / USART Mode: Asynkron

/ / USART Baud Rate: 9600

UCSRA = 0x00;

UCSRB = 0x1C;

UCSRC = 0x06;

UBRRH = 0x00;

UBRRL = 0x19;mens 1 ()

(

/ / Place your code here

temp = getchar ();

UCSRB = UCSRB & 0xFE;

putchar (temp););

)

 
Hei der,

Jus så et skjematisk.

Prøv å bruke 10UF kondensatorer i stedet for kondensatorer brukt.dem alle.Vi har brukt 10 uF og fungerer fint.

Håper dette kan hjelpe

Bhargav

 

Welcome to EDABoard.com

Sponsor

Back
Top