Comunicação serial do mega8

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

Comunicação serial do mega8

Mensagempor vohr56 » 14 Jun 2008 13:54

Olá!

Estou tentando aprender a utilizar a serial do mega8. Fiz uma programa teste no code vision e simulei no proteus.


Segue o código fonte no codevision:



#include <delay.h>

// Standard Input/Output functions
#include <stdio.h>

int a=0;

void main(void)
{

DDRC.0=0;
PORTC.0=1;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;

while (1)
{
if(PINC.0==0)
{
a++;
delay_ms(300);
}

printf("Valor de a: %d \n aaaa \n fff",a);
}
}



soh que no terminal virtual do proteus ele esta colocando uma mensagem atras da outra. o comando \n no printf não faz saltar de linha. O que estou fazendo errado?

um outro exemplo para o pic roda normal, salta linha.


além disto, como faço para emular mais seriais? tipo, vamos supor que eu esteja utilizando o lcd na porta d, onde estao os pinos txd e rxd. Como utilizar a comunicação serial em outra porta?


Abraços.
vohr56
Bit
 
Mensagens: 22
Registrado em: 30 Nov 2006 10:36

Mensagempor RobL » 15 Jun 2008 15:23

Os pinos da USART serão sempre os mesmos, na mesma porta.
O que pode fazer é usar um sinal de chip select. Desta forma quando for enviar para o LCD, este é permitido, quando for usar usart <-> PC, o lcd é inibido e desta forma conseguir várias outros periféricos.
Há ainda o SPI para outras situações.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor tcpipchip » 16 Jun 2008 12:44

Tenta \r
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor vohr56 » 16 Jun 2008 14:56

tcpipchip escreveu:Tenta \r


Valew tcpipchip! Funcionou.

Agora quero tentar aprender a emular outra serial ou contornar esta situação.

Abraços!
vohr56
Bit
 
Mensagens: 22
Registrado em: 30 Nov 2006 10:36

Mensagempor rubenprom » 20 Nov 2008 19:14

Alguem conseguiu simular entrada e saida de dados na porta serial usando o ATmega??, nao sei como utilizar o o COMPIM e nem o VIRTUAL TERMINAL.

Tou programando no Codevision, utilizando uma frequencia do cristal a 4MHZ, e tb ajeitei no Proteus, que inicialmente o MEGA8 se encontra a 1MHz. Eu ja configurei a porta serial no CodeVision a 9600bps, e no Proteus tb

Alguem se habilita??

Grato
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS


Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x