уже туплю.. есть код инициализации
/ 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");
но кука с маслом ткните носом... или я чего не понимаю мануал уже до дыр затер
|