Urgente ajuda necessária: a MSP430 PC através da porta serial

A

anand_navale

Guest
Estou trabalhando em um projeto que envolve a comunicação serial entre MSP430f1232 e PC na taxa de transmissão de 38.400 b / s.Eu sou capaz de receber dados no final do PC do MSP430, mas não têm sucesso no recebimento de dados no final do microcontrolador a partir do PC.

O microcontrolador tem uma freqüência de cristal de 4,00 MHz.Estou usando o IAR Embedded Workbench para o desenvolvimento.

A inicialização de USART0 é feito usando o seguinte código:

/ *
Valores de inicialização para UxBR e UxMCTL registros
para definir a taxa de transmissão de 38,4 KHz assumindo BRCLK MHz = 4.
Estes valores são calculados pelas fórmulas indicadas no userguide MSP430.
* /
# define UART_BAUD 0x0068
# define MODULATION_VAL 0x08

/ *
Inicializar USART0 como UART
* /
UCTL0 = SWRST; USART / / Reset
UCTL0 | = CHAR; / / 8-bit caracteres
UTCTL0 | = SSEL0 / / = UCLK ACLK
UBR00 = UART_BAUD & 0xff; / taxa / Configure baud
UBR10 = (UART_BAUD>>

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Legal" border="0" />

& 0xff;
UMCTL0 = MODULATION_VAL; / / Enable modulação
ME2 | = UTXE0 | URXE0; / / Enable UART TXD / RXD
UCTL0 & = ~ SWRST; / / Release USART
IE2 | = URXIE0; / / Enable USART RX interruptO ISR para a recepção dos dados é conforme abaixo:

# pragma vector = USART0RX_VECTOR
__interrupt void UART0_recv_handler (void)
(
rx_data unsigned char;

/ / Read buffer de recepção da UART
rx_data = RXBUF0;
)

Ajuda é urgente.Thanx in advance,
Anand

 
O código parece bom.Supondo que você não se esqueça de definir GIE ou algo assim, você pode ler o seguinte link errata (silício sobre USART serviço ISR).
http://www.ti.com/cgi-bin/sc/buglist.cgi?bug=US13

 
Verificou-se que o dispositivo de hardware placa não suporta 38,4 K baud rate.O código funciona satisfatoriamente a taxa de 19,2 k baud depois de alterar os valores de UART_BAUD e MODULATION_VAL.

Anyways Thanx para a ajuda.
Anand.

 

Welcome to EDABoard.com

Sponsor

Back
Top