A
anand_navale
Guest
Sto lavorando su un progetto che coinvolge la comunicazione seriale tra PC e MSP430f1232 il baud rate di 38.400 b / s.Sono in grado di ricevere i dati alla fine PC dal MSP430, ma non hanno successo nel ricevere i dati alla fine microcontrollore dal PC.
Il microcontrollore ha una frequenza di 4.00 MHz cristallo.Sto usando IAR Embedded Workbench per lo sviluppo.
L'inizializzazione di USART0 viene fatto utilizzando il seguente codice:
/ *
Valori di inizializzazione per UxBR e UxMCTL registri
per impostare la velocità di trasmissione a 38,4 KHz assumendo BRCLK = 4 MHz.
Questi valori sono calcolati utilizzando le formule di cui al userguide MSP430.
* /
# define UART_BAUD 0x0068
# define MODULATION_VAL 0x08
/ *
Inizializzare USART0 come UART
* /
UCTL0 = SWRST; / / Reset USART
UCTL0 | = CHAR; / / 8 bit
UTCTL0 | = SSEL0; / / UCLK = ACLK
UBR00 = UART_BAUD & 0xff; / / Configure baud rate
UBR10 = (UART_BAUD>>
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Fresco" border="0" />
& 0xff;
UMCTL0 = MODULATION_VAL; / / Attiva la modulazione
ME2 | = UTXE0 | URXE0; / / Attiva UART TXD / RXD
UCTL0 & = ~ SWRST; / / Release USART
IE2 | = URXIE0; / / Attiva USART RX interruptL'ISR per per la ricezione dei dati è, come di seguito:
# pragma vettore = USART0RX_VECTOR
__interrupt void UART0_recv_handler (void)
(
unsigned char rx_data;
/ / Read the UART buffer di ricezione
rx_data = RXBUF0;
)
Aiuto è urgentemente necessaria.Thanx in anticipo,
Anand
Il microcontrollore ha una frequenza di 4.00 MHz cristallo.Sto usando IAR Embedded Workbench per lo sviluppo.
L'inizializzazione di USART0 viene fatto utilizzando il seguente codice:
/ *
Valori di inizializzazione per UxBR e UxMCTL registri
per impostare la velocità di trasmissione a 38,4 KHz assumendo BRCLK = 4 MHz.
Questi valori sono calcolati utilizzando le formule di cui al userguide MSP430.
* /
# define UART_BAUD 0x0068
# define MODULATION_VAL 0x08
/ *
Inizializzare USART0 come UART
* /
UCTL0 = SWRST; / / Reset USART
UCTL0 | = CHAR; / / 8 bit
UTCTL0 | = SSEL0; / / UCLK = ACLK
UBR00 = UART_BAUD & 0xff; / / Configure baud rate
UBR10 = (UART_BAUD>>
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Fresco" border="0" />
& 0xff;
UMCTL0 = MODULATION_VAL; / / Attiva la modulazione
ME2 | = UTXE0 | URXE0; / / Attiva UART TXD / RXD
UCTL0 & = ~ SWRST; / / Release USART
IE2 | = URXIE0; / / Attiva USART RX interruptL'ISR per per la ricezione dei dati è, come di seguito:
# pragma vettore = USART0RX_VECTOR
__interrupt void UART0_recv_handler (void)
(
unsigned char rx_data;
/ / Read the UART buffer di ricezione
rx_data = RXBUF0;
)
Aiuto è urgentemente necessaria.Thanx in anticipo,
Anand