18Fermer20
GodzilLe 26/11/2012 à 11:50
Welcome to the marvelous world of microcontroller and embedded OS!

Exemple (non exaustif) pour configurer l'uart d'un s3c2416 (ça doit etre quasiment pareil pour les auters s3c24xx) :
void serial_init_115200_s3c24xx(const int uart, const int pclk_MHz) { int div = (((54 * pclk_MHz) + 26) / 100) -1; switch(uart) { case UART0: rULCON0 = 0x3; rUCON0 = 0x245; rUFCON0 = 0x0; rUMCON0 = 0x0; rUBRDIV0 = div; break; case UART1: rULCON1 = 0x3; rUCON1 = 0x245; rUFCON1 = 0x0; rUMCON1 = 0x0; rUBRDIV1 = div; break; case UART2: rULCON2 = 0x3; rUCON2 = 0x245; rUFCON2 = 0x1; rUBRDIV2 = div; break; default: break; } } void serial_putc_s3c24xx(const int uart, const char c) { switch(uart) { case UART0: while ( !( rUTRSTAT0 & 0x2 ) ); WrUTXH0(c); break; case UART1: while ( !( rUTRSTAT1 & 0x2 ) ); WrUTXH1(c); break; case UART2: while ( !( rUTRSTAT2 & 0x2 ) ); WrUTXH2(c); break; default: break; } /* force \n\r */ if (c == '\n') serial_putc_s3c24xx(uart, '\r'); }