Problemas com a UART

Software e Hardware para uC Texas

Moderadores: andre_luis, 51

Problemas com a UART

Mensagempor Milhoci » 23 Ago 2007 16:29

Boa trade, eu estou tentando usar a UART de um msp430f1611 o problema é que o caractere que eu recebo é totalmente difirente do que eu mandei pelo msp. Eu já mudei velocidade do msp, ja aumentei e mininui o baud rate, troquei de computador, tentei usar a outra uart e até agora nada...

Alguém poderia de dar uma ajuda?

void putc(char c)
{
U0TXBUF = c;
while(!U0TCTL_bit.TXEPT);
}


//************** MAIN *****************************

void main(void)
{

// char c;
WDTCTL = WDTPW + WDTHOLD;
delay();

DCOCTL = 0x9B;
BCSCTL1 = 0x87;
BCSCTL2 = 0x00;

P3SEL_bit.P3SEL_4 = 1;
P3SEL_bit.P3SEL_5 = 1;
ME1 = UTXE0 + URXE0;
U0CTL = SWRST + CHAR;
U0TCTL = SSEL1 + SSEL0;
U0BR0=0x6B;
U0BR1=0x00;
U0MCTL=0x55;
U0CTL_bit.SWRST =0;

while(1)
{
putc('a');
}
Milhoci
Byte
 
Mensagens: 148
Registrado em: 12 Out 2006 18:46

Mensagempor henriquethiesen » 24 Ago 2007 00:14

Se você estiver usando o DCO para gerar o baud-rate, você deve observar que este pode apresentar desvios de frequência.
Experimente testar colocando um cristal para gerar o baud-rate.
henriquethiesen
Nibble
 
Mensagens: 50
Registrado em: 12 Out 2006 14:10

Mensagempor Fábio Pereira » 24 Ago 2007 11:28

Os exemplos do meu livro funcionam perfeitamente. Você já tentou utilizá-los ?

Até +
Fábio Pereira
embeddedsystems.io
Avatar do usuário
Fábio Pereira
Word
 
Mensagens: 674
Registrado em: 16 Out 2006 09:07
Localização: Kitchener, ON

Mensagempor Milhoci » 28 Ago 2007 18:05

Fábio, eu tentei usar os do seu livro também, eu estou comprando tudo novo e assim que os msp430 chegarem eu vou voltar a mexer com a uart, talvez seja algum problema com o hardware da uart....

Milhoci
Milhoci
Byte
 
Mensagens: 148
Registrado em: 12 Out 2006 18:46

Mensagempor luizrico » 29 Ago 2007 16:47

Milhoci,

Voce esta recebendo os dados com o MSP ?? ou com outro software, pelo que entendi vc esta enviando dados pelo MSP, porém não endenti com o que voce esta recebendo.

Já tive o mesmo problema, porém o que estava errado era o software que eu estava recebendo os dados

abraços
Luiz
luizrico
Bit
 
Mensagens: 20
Registrado em: 13 Dez 2006 07:42

Uma sugestão

Mensagempor quispe » 31 Ago 2007 12:54

Milhoci tente estes códigos, entre no hiperterminal ou use o terminal do rogercom (www.rogercom.com) e teste este comando CMD:Teste \n\r
O \n\r é enviado automaticamente pelo terminal

// Para recebeir um comando via porta serial
#pragma vector = USART0RX_VECTOR // Vector de interrupção da serial
__interrupt void trata_usartrx0(void)
{
unsigned char temp = U0RXBUF; // Salva o dado que chegou pela serial

if(temp != '\n') // Testa se o valor carregado é linha feed
{
buffer[cont] = U0RXBUF; // Caso não seja, carrega o valor em buffer
cont++; // Incrementa o contador do buffer
}
else // Caso seja igual, sinaliza flag e faz eco
{
f_dado_serial = 1; // Sinaliza que existe dado no buffer serial
cont = 0; // Zera cont

for(int i = 0; i < k; i++) // Escreve na serial o dado no buffer
{
if(buffer[i] == ' ') // O elemento i da matriz buffer é ' ' ?
break; // Sim, então sai do loop "for"
U0TXBUF = buffer[i]; // Caso não seja verdade, escreve na serial
while(!U0TCTL_bit.TXEPT); // Espera o dado ser transmitido
}
esc_crlf(); // Escreve <cr> e <lf> na serial
}
}

e configura a porta assim
/************************************************************/
// Configura os registradores da USART - 2400 bps

ME1 |= UTXE0 + URXE0; // Habilita UARTO RX e TX
U0CTL |= CHAR; // USART trabalha com 8 bits de dados
U0TCTL |= SSEL0; // O clock da UART será o ACLK
U0BR0 = 0X0D; // Configura baund rate para 2400
U0BR1 = 0X00;
U0MCTL = 0X6B;
UCTL0 &= ~SWRST; // Inicializa a UART

Abraço
www.qsptecnologia.eng.br
quispe
Nibble
 
Mensagens: 83
Registrado em: 10 Mai 2007 11:31

Mensagempor Milhoci » 12 Set 2007 23:37

Problema resolvido, eu troquei todos os circuitos integrados, aparentemente era algum problema com o hardware do msp430. Muito obrigado a todos pela ajuda.

Milhoci
Milhoci
Byte
 
Mensagens: 148
Registrado em: 12 Out 2006 18:46


Voltar para Texas

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

x