Página 1 de 1

Problema com a USART

MensagemEnviado: 17 Mai 2007 01:07
por Marcelo Ono
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

MensagemEnviado: 17 Mai 2007 09:37
por veioloko
O valor não é enviado em ASCII? Ou falei besteira?

MensagemEnviado: 17 Mai 2007 10:07
por Fábio Pereira
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é +

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