|
DD51
|
19-11-2006 17:08
Bonjour, Petit probléme de communication avec le E-blocks A.R.M, je veux me servir des fonction de la bibliotheque, pour communiquée en RS232, mais le programme reste bloqué sur l'envoi de la donnée, ci quelqu'un a déja reussi pourrait'il regarder dans mon programme, l'oubli ... que je n'arrive pas a voir. Je ne veux me servir que de la Broche TX & RX seulement. #include "Board.h" #define BaudRate 38400 /* Baud Rate */ #define BRD (MCK/16/BaudRate) /* Baud Rate Divisor */ // AT91S_USART * pUSART = AT91C_BASE_US1; /* Global Pointer to USART1 */ void uart_init (void) { /* Initialize Serial Interface */ AT91F_US_Configure ( AT91C_BASE_US1, // \arg pointer to a USART controller MCK, // \arg peripheral clock AT91C_US_ASYNC_MODE , // \arg mode Register to be programmed BaudRate, // \arg baudrate to be programmed 10 ); // \arg timeguard to be programmed } void uart_putc(int ch) { while( !AT91F_US_TxReady (AT91C_BASE_US1)) int main(void) { unsigned int i; uart_init (); /* Set all of PORTA as an output */ AT91F_PIO_CfgOutput( AT91C_BASE_PIOA, PORTA ) ; AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, PORTA); while ( 1 ) { /* Set pin 0 of PORTA high */ AT91F_PIO_SetOutput( AT91C_BASE_PIOA, PORTA0); for ( i = 0 ; i < 650000 ; i = i + 1 ) ; uart_putc('A') ; /* Set pin 0 of PORTA low */ AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, PORTA0); for ( i = 0 ; i < 650000 ; i = i + 1 ) ; } } Coordialement
|