A
anand_navale
Guest
Je travaille sur un projet qui implique une communication série entre MSP430f1232 et PC à la vitesse de transmission de 38400 b / s.Je suis en mesure de recevoir des données à la fin PC à partir du MSP430 mais n'ont pas réussi à recevoir des données à la fin de microcontrôleurs à partir du PC.
Le microcontrôleur dispose d'une fréquence du quartz de 4,00 MHz.J'utilise IAR Embedded Workbench pour le développement.
L'initialisation de USART0 est fait en utilisant le code suivant:
/ *
Initialisation des valeurs pour UxBR et UxMCTL registres
de fixer le taux de transmission à 38,4 KHz en supposant BRCLK = 4 MHz.
Ces valeurs sont calculées en utilisant les formules indiquées au userguide MSP430.
* /
# define UART_BAUD 0x0068
# define MODULATION_VAL 0x08
/ *
Initialiser USART0 que UART
* /
UCTL0 = SWRST; USART / / Reset
UCTL0 | = CHAR; / / caractères 8 bits
UTCTL0 | = SSEL0; / / UCLK = aclk
UBR00 = UART_BAUD & 0xff; / / Taux Configurer bauds
UBR10 = (UART_BAUD>>
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Cool" border="0" />
& 0xff;
UMCTL0 = MODULATION_VAL; / / Permettre la modulation
ME2 | = UTXE0 | URXE0; / / Enable UART TXD / RXD
UCTL0 & = ~ SWRST; / / Release USART
IE2 | = URXIE0; / / Enable USART RX interrompreLa recherche internationale à la réception de données se présente comme suit:
# pragma vector = USART0RX_VECTOR
__interrupt void UART0_recv_handler (void)
(
rx_data unsigned char;
/ / Lit l'UART tampon de réception
= rx_data RXBUF0;
)
De l'aide est requise d'urgence.Merci à l'avance,
Anand
Le microcontrôleur dispose d'une fréquence du quartz de 4,00 MHz.J'utilise IAR Embedded Workbench pour le développement.
L'initialisation de USART0 est fait en utilisant le code suivant:
/ *
Initialisation des valeurs pour UxBR et UxMCTL registres
de fixer le taux de transmission à 38,4 KHz en supposant BRCLK = 4 MHz.
Ces valeurs sont calculées en utilisant les formules indiquées au userguide MSP430.
* /
# define UART_BAUD 0x0068
# define MODULATION_VAL 0x08
/ *
Initialiser USART0 que UART
* /
UCTL0 = SWRST; USART / / Reset
UCTL0 | = CHAR; / / caractères 8 bits
UTCTL0 | = SSEL0; / / UCLK = aclk
UBR00 = UART_BAUD & 0xff; / / Taux Configurer bauds
UBR10 = (UART_BAUD>>
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Cool" border="0" />
& 0xff;
UMCTL0 = MODULATION_VAL; / / Permettre la modulation
ME2 | = UTXE0 | URXE0; / / Enable UART TXD / RXD
UCTL0 & = ~ SWRST; / / Release USART
IE2 | = URXIE0; / / Enable USART RX interrompreLa recherche internationale à la réception de données se présente comme suit:
# pragma vector = USART0RX_VECTOR
__interrupt void UART0_recv_handler (void)
(
rx_data unsigned char;
/ / Lit l'UART tampon de réception
= rx_data RXBUF0;
)
De l'aide est requise d'urgence.Merci à l'avance,
Anand