уже туплю..
есть код инициализации
/ Step 4. Other Initialisation
// Open PIO for US1
AT91F_PIO_CfgPeriph( AT91C_BASE_PIOB,((unsigned int) AT91C_PB21_RXD1)|((unsigned int) AT91C_PB20_TXD1),0); // Only TxD & RxD
AT91F_US1_CfgPMC();
// 1sec ?
AT91C_BASE_ST->ST_RTMR = 0x8000;
//
// Configure DBGU
AT91F_US_Configure (
(AT91PS_USART) AT91C_BASE_US1, // DBGU base address
100000000, // 60 MHz
AT91C_US_USMODE_NORMAL|AT91C_US_CLKS_CLOCK|AT91C_US_CHRL_8_BITS|( 4 << 9 )|AT91C_US_NBSTOP_1_BIT|AT91C_US_OVER|AT91C_US_INACK|AT91C_US_DSNACK,// mode Register to be programmed
115200 , // baudrate to be programmed
0); // timeguard to be programmed
AT91F_US_ResetTx((AT91PS_USART) AT91C_BASE_US1);
AT91F_US_ResetRx((AT91PS_USART) AT91C_BASE_US1);
// Enable Transmitter
AT91F_US_EnableTx((AT91PS_USART) AT91C_BASE_US1);
AT91F_US_DisableRx((AT91PS_USART) AT91C_BASE_US1);
есть код передачаи
void AT91F_DBGU_Printk( char *buffer) // \arg pointer to a string ending by \0
{
while(*buffer != '\0')
{
while ( AT91F_US_TxReady( (AT91PS_USART)AT91C_BASE_US1 ) != AT91C_US_TXRDY );
AT91F_US_PutChar((AT91PS_USART)AT91C_BASE_US1, *buffer++);
}
}
есть конечное использование
AT91F_DBGU_Printk("\n\rAT91F_LowLevelInit(): Debug channel initialized\n\r");
но кука с маслом
ткните носом...
или я чего не понимаю
мануал уже до дыр затер