Vous êtes sur la page 1sur 8

Mapa de Memoria de Cortex-M3

Mapa de Memoria de LPC1768


Pinout del LPC1768 en encapsulado LQFP100

Registro xPSR
uint32_t __get_IPSR(void);

uint32_t __get_APSR(void);

uint32_t __get_xPSR(void);

.
Registros de Mascara de Interrupcion

void __set_PRIMASK(uint32_t priMask);


uint32_t __get_PRIMASK(void);

uint32_t __get_FAULTMASK(void);
__set_FAULTMASK(uint32_t faultMask);

uint32_t __get_BASEPRI(void);
void __set_BASEPRI(uint32_t basePri);

Registro de control

uint32_t __get_CONTROL(void);

void __set_CONTROL(uint32_t control);

PUERTOS DE ENTRADA SALIDA

Registro PINSEL (LPC_PINCON->PINSELX valiendo X de 0 a 9)


Registro FIODIR

LPC_GPIOX-FIODIR (X vale de 0 a 4)
LPC_GPIOX-FIODIRU
LPC_GPIOX-FIODIRL
LPC_GPIOX-FIODIR0
LPC_GPIOX-FIODIR1
LPC_GPIOX-FIODIR2
LPC_GPIOX-FIODIR3

Registro FIOPIN LPC_GPIOX->FIOPIN (X vale de 0 a 4)

Registro FIOSET LPC_GPIOX->FIOSET (X vale de 0 a 4)

Registro FIOCLEAR LPC_GPIOX->FIOCLR (X vale de 0 a 4)

Registro FIOMASK LPC_GPIOX->FIOMASK (X vale de 0 a 4)

Registro PINMODE Registro PINMODE_OD

LPC_PINCON->PINMODEX (X vale de 0 a 9) LPC_PINCON->PINMODE_ODX (X vale de 0 a 4)


Registro EXTMODE Registro EXTPOLAR

LPC_SC->EXTMODE LPC_SC->EXTPOLAR

Registro EXTINT Registro CLKSRCSEL

LPC_SC->EXTINT LPC_SC->CLKSRCSEL

Registro PLL0CFG Registro CCLKCFG

LPC_SC->PLL0CFG LPC_SC->CCLKCFG
Registro VTOR SCB->VTOR

Registro AIRCR SCB->AIRCR

Registros interrupciones

NVIC->ISER[X] X vale de 0 a 1
NVIC->ICER[X] X vale de 0 a 1
NVIC->ISPR[X] X vale de 0 a 1
NVIC->ICPR[X] X vale de 0 a 1
NVIC->IABR[X] X vale de 0 a 1
NVIC->IPR[X] X vale de 0 a 8

Funciones relacionadas con interrupciones

void NVIC_SetPriorityGrouping(uint32_t PriorityGroup);


uint32_t NVIC_GetPriorityGrouping(void);
void NVIC_EnableIRQ(IRQn_Type IRQn);
void NVIC_DisableIRQ(IRQn_Type IRQn);
uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn);
void NVIC_SetPendingIRQ(IRQn_Type IRQn);
void NVIC_ClearPendingIRQ(IRQn_Type IRQn);
uint32_t NVIC_GetActive(IRQn_Type IRQn);
void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority);
uint32_t NVIC_GetPriority(IRQn_Type IRQn)
void NVIC_SystemReset(void)
Registro ICER0 Registro ICER1

Timer SysTick
SysTick->LOAD

SysTick->VAL

SysTick->CALIB

SysTick->CTRL

Nombre de las ISR de cada fuente de interrupcion

Reset_Handler ; Reset Handler I2C2_IRQHandler ; 28: I2C2


NMI_Handler ; NMI Handler SPI_IRQHandler ; 29: SPI
HardFault_Handler ; Hard Fault Handler SSP0_IRQHandler ; 30: SSP0
MemManage_Handler ; MPU Fault Handler SSP1_IRQHandler ; 31: SSP1
BusFault_Handler ; Bus Fault Handler PLL0_IRQHandler ; 32: PLL0 Lock (Main PLL)
UsageFault_Handler ; Usage Fault Handler RTC_IRQHandler ; 33: Real Time Clock
SVC_Handler ; SVCall Handler EINT0_IRQHandler ; 34: External Interrupt 0
DebugMon_Handler ; Debug Monitor Handler EINT1_IRQHandler ; 35: External Interrupt 1
PendSV_Handler ; PendSV Handler EINT2_IRQHandler ; 36: External Interrupt 2
SysTick_Handler ; SysTick Handler EINT3_IRQHandler ; 37: External Interrupt 3
WDT_IRQHandler ; 16: Watchdog Timer ADC_IRQHandler ; 38: A/D Converter
TIMER0_IRQHandler ; 17: Timer0 BOD_IRQHandler ; 39: Brown-Out Detect
TIMER1_IRQHandler ; 18: Timer1 USB_IRQHandler ; 40: USB
TIMER2_IRQHandler ; 19: Timer2 CAN_IRQHandler ; 41: CAN
TIMER3_IRQHandler ; 20: Timer3 DMA_IRQHandler ; 42: General Purpose DMA
UART0_IRQHandler ; 21: UART0 I2S_IRQHandler ; 43: I2S
UART1_IRQHandler ; 22: UART1 ENET_IRQHandler ; 44: Ethernet
UART2_IRQHandler ; 23: UART2 RIT_IRQHandler ; 45: Repetitive Interrupt Timer
UART3_IRQHandler ; 24: UART3 MCPWM_IRQHandler ; 46: Motor Control PWM
PWM1_IRQHandler ; 25: PWM1 QEI_IRQHandler ; 47: Quadrature Encoder Interface
I2C0_IRQHandler ; 26: I2C0 PLL1_IRQHandler ; 48: PLL1 Lock (USB PLL)
I2C1_IRQHandler ; 27: I2C1 USBActivity_IRQHandler ; 49: USB Activity interrupt to wakeup
CANActivity_IRQHandler ; 50: CAN Activity interrupt to wakeup
FUNCIONES DEL SISTEMA OPERATIVO RTX
Hilos

osThreadId osThreadCreate (const osThreadDef_t *thread_def, void *argument)

osThreadId osThreadGetId (void)

osStatus osThreadTerminate (osThreadId thread_id)

osStatus osThreadSetPriority (osThreadId thread_id, osPriority priority)

Mutex

osMutexDef (name)

osMutexId osMutexCreate (const osMutexDef_t *mutex_def)

osStatus osMutexDelete (osMutexId mutex_id)

osStatus osMutexWait (osMutexId mutex_id, uint32_t millisec)

osStatus osMutexRelease (osMutexId mutex_id)

Seales

osSignalSet (osThreadId thread_id, int32_t signals)

int32_t osSignalClear (osThreadId thread_id, int32_t signals)

os_InRegs osEvent osSignalWait (int32_t signals, uint32_t millisecs)

Semaforos

#define osFeature_Semaphore 65535

#define osSemaphoreDef(name)

#define osSemaphore(name)

osSemaphoreId osSemaphoreCreate (const osSemaphoreDef_t *semaphore_def, int32_t count)

osStatus osSemaphoreDelete (osSemaphoreId semaphore_id)

osStatus osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t millisec)

osStatus osSemaphoreRelease (osSemaphoreId semaphore_id)

Vous aimerez peut-être aussi