Hola
el caso es que estaba probando la usart con un atmega168 y no hace nada
He probado varios programas, los que hay por internet de ejemplo tambien, el circuito esta bien (por lo menos lo e revisado 100 veces!)
los condensadores del Max232 son de 100v, tienen su tiempillo y el que va a Vcc es de 2,2microF, pero no creo que sea eso no?
Puede ser problema del ordenador? no tenia el hyperterminal y e instalado el Terminal Bray++ V1.2 y V1.6 y tambien el HyperterminalPrivate 7, no va con ninguno, no se que puerto hay que elegir solo aparecen el COM1 y COM2, y al conectar la tarjeta no aparece nada en el ordenador como que e conectado algo.. muy perdido
bueno aqui dejo un programa de internet que deberia de ir y no va, esta bien no?
#define F_CPU 4000000UL
#define MYUBRR 25 // valor para fosc = 4.000MHz y 9600 bps
#include <avr/io.h>
#include <util/delay.h>
void USART_Transmit( unsigned char data );
int main( void )
{
UBRR0H = (MYUBRR>>8);
UBRR0L = MYUBRR;
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
while(1)
{
USART_Transmit('h');
_delay_ms(1000);
USART_Transmit('o');
_delay_ms(1000);
USART_Transmit('l');
_delay_ms(1000);
USART_Transmit('a');
_delay_ms(1000);
USART_Transmit(' ');
_delay_ms(1000);
}
}
void USART_Transmit( unsigned char data )
{
while ( !( UCSR0A & (1<<UDRE0)) );
UDR0 = data;
}
el caso es que estaba probando la usart con un atmega168 y no hace nada
He probado varios programas, los que hay por internet de ejemplo tambien, el circuito esta bien (por lo menos lo e revisado 100 veces!)
los condensadores del Max232 son de 100v, tienen su tiempillo y el que va a Vcc es de 2,2microF, pero no creo que sea eso no?
Puede ser problema del ordenador? no tenia el hyperterminal y e instalado el Terminal Bray++ V1.2 y V1.6 y tambien el HyperterminalPrivate 7, no va con ninguno, no se que puerto hay que elegir solo aparecen el COM1 y COM2, y al conectar la tarjeta no aparece nada en el ordenador como que e conectado algo.. muy perdido
bueno aqui dejo un programa de internet que deberia de ir y no va, esta bien no?
#define F_CPU 4000000UL
#define MYUBRR 25 // valor para fosc = 4.000MHz y 9600 bps
#include <avr/io.h>
#include <util/delay.h>
void USART_Transmit( unsigned char data );
int main( void )
{
UBRR0H = (MYUBRR>>8);
UBRR0L = MYUBRR;
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
while(1)
{
USART_Transmit('h');
_delay_ms(1000);
USART_Transmit('o');
_delay_ms(1000);
USART_Transmit('l');
_delay_ms(1000);
USART_Transmit('a');
_delay_ms(1000);
USART_Transmit(' ');
_delay_ms(1000);
}
}
void USART_Transmit( unsigned char data )
{
while ( !( UCSR0A & (1<<UDRE0)) );
UDR0 = data;
}