Problema su RS 232

L

lervos

Guest
Hi guys ..
Aš žinau, tai gana paprasta .., bet aš vis dar kyla problemų su šia ...
Ok, pirmiausia turiu seną laivą (1 attiny 2313 max232), kurie vis dar dirba gerai (aš manau ... ir galima suprasti, kodėl mano kitą paaiškinimą ...) ir mano nauja valdyba (1 attiny 2313 max 232).

problemos yra:
1.mano sena lenta, programa toliau veikia, gerai ... bet mano nauja valdyba doesnt paleisti well.Both lenta, I bandymas su HyperTerminal ... mano seną savo laivą visada grįžta gerai, bet mano nauja valdyba (jos grąžinimo Simbolis "w" arba iš šaknų pobūdžio ar kitą požymį, kad doesnt ASCII lentelę ...)
Kodas/************************************************* ****

Chip type: ATtiny2313

Laikrodžio dažnis: 4,000000 MHz************************************************** *** /# include <tiny2313.h>

#include <delay.h>

# define RXB8 1

# define TXB8 0

# define UPE 2

# define VIRŠ 3

# define FE 4

# define UDRE 5

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

# define PARITY_ERROR (1 <<UPE)

# define DATA_OVERRUN (1 <<VIRŠ)

# define DATA_REGISTER_EMPTY (1 <<UDRE)

# define RX_COMPLETE (1 <<RXC)/ / Gauti iš USART Gavėjas pobūdis

# ifndef _DEBUG_TERMINAL_IO_

# define _ALTERNATE_GETCHAR_

# pragma naudojamas

char getchar (tuščia)

(

char statusas, duomenys;

while (1)

(

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

Duomenų = UDR;

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

grįžti duomenis;

);

)

# pragma naudotų

# endif/ / Rašyti požymį USART Transmitter

# ifndef _DEBUG_TERMINAL_IO_

# define _ALTERNATE_PUTCHAR_

# pragma naudojamas

tuščia putchar (char c)

(

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

UDR = c;

)

# pragma naudotų

# endif/ / Standard Input / Output funkcijas

# include <stdio.h>/ / Pripažinti savo globalių kintamųjų čiavoid main (void)

(

char temp;
/ / USART initialization

/ / Bendravimas Parametrai: 9 Data, 1 Stop, Nr Parity

/ / USART Gavėjas: On

/ / USART siųstuvas: On

/ / USART Mode: Asynchronous

/ / USART Baud Rate: 9600

UCSRA = 0x00;

UCSRB = 0x1C;

UCSRC = 0x06;

UBRRH = 0x00;

UBRRL = 0x19;while (1)

(

/ / Place your code here

TEMP = getchar ();

UCSRB = UCSRB & 0xFE;

putchar (temp););

)

 
Hey there,

Jus pamačiau savo schematiškai.

Pabandykite naudoti 10UF kondensatorių vietoj kondensatoriai naudojami.visus.Mes ve used 10 uF ir veikia puikiai.

Tikiuosi, kad tai gali padėti

Bhargav

 

Welcome to EDABoard.com

Sponsor

Back
Top