Problema com a USART

Software e Hardware para uC Texas

Moderadores: andre_luis, 51

Problema com a USART

Mensagempor Marcelo Ono » 17 Mai 2007 01:07

Olá a todos, preciso enviar um dado de 2 bytes pela serial e para isso fiz as seguintes instruções:

U0TXBUF = valor>>8 ;
while (!(IFG1 & UTXIFG0));

U0TXBUF = valor &0x00FF;
while (!(IFG1 & UTXIFG0));

O problema é que quando o "valor" é igual a zero a transmissão não ocorre, alguem sabe o que preciso mudar para poder enviar esse zero???

Obs.: eu preciso enviar esses dois bytes sequencialmente, mesmo que o valor seja zero.

Faleu, Ono
Marcelo Ono
 
Mensagens: 2
Registrado em: 03 Abr 2007 22:57

Mensagempor veioloko » 17 Mai 2007 09:37

O valor não é enviado em ASCII? Ou falei besteira?
veioloko
Byte
 
Mensagens: 348
Registrado em: 10 Nov 2006 06:01
Localização: São Bernardo do Campo

Mensagempor Fábio Pereira » 17 Mai 2007 10:07

Bom,

A UART tem de enviar qualquer valor, mesmo 0.

O envio ocorre pela escrita no buffer de transmissão.

Você já analisou o código ASM gerado ?

Será que o compilador não está removendo a instrução que escreve no U0TXBUF por algum motivo (como por exemplo a escrita de uma variável que foi otimizada e removida).

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 Marcelo Ono » 21 Mai 2007 09:22

O msp estava enviando o zero mesmo, o problema estava no programa que eu fiz, pq o caracter nulo no delphi é '#0' e eu esqueci de tratar isso.....

Valeu!!!.....

veioloko:

Esse valor é em hexa mesmo...
Marcelo Ono
 
Mensagens: 2
Registrado em: 03 Abr 2007 22:57


Voltar para Texas

Quem está online

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

x