реклама на сайте
подробности

 
 
> AT91RM920 от AndiBig и USART1, прощу помочь разобраться
Старый Бабай
сообщение Dec 11 2006, 11:46
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 104
Регистрация: 5-12-05
Из: Екатеринбург
Пользователь №: 11 823



уже туплю..
есть код инициализации


/ 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");


но кука с маслом
ткните носом...
или я чего не понимаю
мануал уже до дыр затер
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 16:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01343 секунд с 7
ELECTRONIX ©2004-2016