Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DBGU at91sam7s128
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Старый Бабай
Недавно пересер на ARM
Начал писать
Хочу использовать модуль DBGU, но никак не получается его инициализировать

Помогоите разобраться

Код ниже

void DBGU_Init(void)
{
//DBGU_CR = DBGU_CR_RXEN | DBGU_CR_TXEN;
DBGU_CR = DBGU_CR_TXEN | DBGU_CR_TXEN;
DBGU_MR = 0x00000000;
DBGU_IER = 0x00000000;
DBGU_IMR = 0x00000000;
//DBGU_BRGR= 120;
DBGU_BRGR= PROCESSOR_CLOCK_FREQUENCY / (16 * baudrate);
// Init IO
PIOA_PDR |= (PIOA_PDR_P9)|(PIOA_PDR_P10);
PIOA_PER &= ~(PIOA_PER_P9)|(PIOA_PER_P10);
// Enable Perpinales A - DBGU pins
PIOA_ASR |= (PIOA_ASR_P9)|(PIOA_ASR_P10);
PIOA_BSR &= ~(PIOA_BSR_P9)|(PIOA_BSR_P10);
}

void DBGU_Tx(char D)
{
while(!(DBGU_SR & DBGU_SR_TXRDY));
DBGU_THR = D;
}
vet
к write-only регистрам бессмысленно применять операции &= , |= , так как чтение из них даёт 0.
dotprod
Было бы неплохо на DBGU еще и такты подать. smile.gif

Depending on product integration, the Debug Unit clock may be controllable through the Power
Management Controller. In this case, the programmer must first configure the PMC to enable the
Debug Unit clock. Usually, the peripheral identifier used for this purpose is 1.

AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, ((unsigned int) 1 << AT91C_ID_SYS));
Старый Бабай
Спасибо за помощь разобрался, но оказалось что встроенный в Crossworks 1.5 терминал не работает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.