Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Про отображение регистров в память LPC23xx
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
SmileGobo
Изучал хидер файл LPC23xx.H ,который идет в поставке с KEIL обнаружил странную вещь в UART

Разные регистры задефайнены на одни и теже адреса:

Код
/* Universal Asynchronous Receiver Transmitter 0 (UART0) */
#define UART0_BASE_ADDR        0xE000C000
#define U0RBR          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x00))    //0xE000C000
#define U0THR          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x00))    //0xE000C000
#define U0DLL          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x00))    //0xE000C000
#define U0DLM          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x04))   //0xE000C004
#define U0IER          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x04))    //0xE000C004
#define U0IIR          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x08))     //0xE000C008
#define U0FCR          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x08))    //0xE000C008
#define U0LCR          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x0C))  
#define U0LSR          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x14))
#define U0SCR          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x1C))
#define U0ACR          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x20))
#define U0ICR          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x24))
#define U0FDR          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x28))
#define U0TER          (*(volatile unsigned long *)(UART0_BASE_ADDR + 0x30))

По документации эти регистры находятся в одних и тех же адресах.
И никак не могу взять в толк, как процессор определят, какие значения для каких регистров я ему задаю???
fantex
U0RBR только чтение принятый байт
U0THR только запись передаваемый байт
U0DLL доступен для чтения/записи при установленном старшем бите в U0LCR
SmileGobo
сообразил спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.