msp430_regs.h¶
Cortex CMSIS style definition of MSP430 registers.
This file is incomplete, not all registers are listed. Further There are probably some inconsistencies throughout the MSP430 family which need to be addressed.
-
REG8
¶ Shortcut to specify 8-bit wide registers.
1
volatile uint8_t
-
REG16
¶ Shortcut to specify 16-bit wide registers.
1
volatile uint16_t
-
SFR_IE1_OFIE
¶ SFR interrupt enable 1 register bitmap.
1
(0x02)
-
SFR_IE1_URXIE0
¶ 1
(0x40)
-
SFR_IE1_UTXIE0
¶ 1
(0x80)
-
SFR_IE2_UCA0RXIE
¶ SFR interrupt enable 2 register bitmap.
1
(0x01)
-
SFR_IE2_UCA0TXIE
¶ 1
(0x02)
-
SFR_IE2_URXIE2
¶ 1
(0x10)
-
SFR_IE2_UTXIE2
¶ 1
(0x20)
-
SFR_IFG1_OFIFG
¶ SFR interrupt flag 1 register bitmap.
1
(0x02)
-
SFR_IFG1_URXIFG0
¶ 1
(0x40)
-
SFR_IFG1_UTXIFG0
¶ 1
(0x80)
-
SFR_IFG2_UCA0RXIFG
¶ SFR interrupt flag 2 register bitmap.
1
(0x01)
-
SFR_IFG2_UCA0TXIFG
¶ 1
(0x02)
-
SFR_IFG2_URXIFG1
¶ 1
(0x10)
-
SFR_IFG2_UTXIFG1
¶ 1
(0x20)
-
SFR_ME1_USPIE0
¶ SFR module enable register 1.
1
(0x40)
-
SFR_ME2_USPIE1
¶ SFR module enable register 2.
1
(0x10)
-
USART_CTL_SWRST
¶ USART control register bitmap.
1
(0x01)
-
USART_CTL_MM
¶ 1
(0x02)
-
USART_CTL_SYNC
¶ 1
(0x04)
-
USART_CTL_LISTEN
¶ 1
(0x08)
-
USART_CTL_CHAR
¶ 1
(0x10)
-
USART_CTL_SPB
¶ 1
(0x20)
-
USART_CTL_PEV
¶ 1
(0x40)
-
USART_CTL_PENA
¶ 1
(0x80)
-
USART_TCTL_TXEPT
¶ USART transmit control register bitmap.
1
(0x01)
-
USART_TCTL_STC
¶ 1
(0x02)
-
USART_TCTL_TXWAKE
¶ 1
(0x04)
-
USART_TCTL_URXSE
¶ 1
(0x08)
-
USART_TCTL_SSEL_MASK
¶ 1
(0x30)
-
USART_TCTL_SSEL_UCLKI
¶ 1
(0x00)
-
USART_TCTL_SSEL_ACLK
¶ 1
(0x10)
-
USART_TCTL_SSEL_SMCLK
¶ 1
(0x20)
-
USART_TCTL_CKPL
¶ 1
(0x40)
-
USART_TCTL_CKPH
¶ 1
(0x80)
-
USART_RCTL_RXERR
¶ USART receive control register bitmap.
1
(0x01)
-
USART_RCTL_RXWAKE
¶ 1
(0x02)
-
USART_RCTL_URXWIE
¶ 1
(0x04)
-
USART_RCTL_URXEIE
¶ 1
(0x08)
-
USART_RCTL_BRK
¶ 1
(0x10)
-
USART_RCTL_OE
¶ 1
(0x20)
-
USART_RCTL_PE
¶ 1
(0x40)
-
USART_RCTL_FE
¶ 1
(0x80)
-
USCI_ACTL0_UCSYNC
¶ USCI control A register 0 bitmap.
1
(0x01)
-
USCI_ACTL0_MODE_MASK
¶ 1
(0x06)
-
USCI_ACTL0_MODE_UART
¶ 1
(0x00)
-
USCI_ACTL0_MODE_ILMM
¶ 1
(0x02)
-
USCI_ACTL0_MODE_ABMM
¶ 1
(0x04)
-
USCI_ACTL0_MODE_UART_ABR
¶ 1
(0x06)
-
USCI_ACTL0_SPB
¶ 1
(0x08)
-
USCI_ACTL0_7BIT
¶ 1
(0x10)
-
USCI_ACTL0_MSB
¶ 1
(0x20)
-
USCI_ACTL0_PAR
¶ 1
(0x40)
-
USCI_ACTL0_PEN
¶ 1
(0x80)
-
USCI_SPI_CTL0_UCSYNC
¶ USCI control register 0 bitmap SPI mode.
1
(0x01)
-
USCI_SPI_CTL0_MODE_3
¶ 1
(0x06)
-
USCI_SPI_CTL0_MODE_0
¶ 1
(0x00)
-
USCI_SPI_CTL0_MODE_1
¶ 1
(0x02)
-
USCI_SPI_CTL0_MODE_2
¶ 1
(0x04)
-
USCI_SPI_CTL0_MST
¶ 1
(0x08)
-
USCI_SPI_CTL0_7BIT
¶ 1
(0x10)
-
USCI_SPI_CTL0_MSB
¶ 1
(0x20)
-
USCI_SPI_CTL0_CKPL
¶ 1
(0x40)
-
USCI_SPI_CTL0_CKPH
¶ 1
(0x80)
-
USCI_SPI_STAT_UCBUSY
¶ USCI status register bitmap SPI mode.
1
(0x01)
-
USCI_SPI_STAT_UCOE
¶ 1
(0x20)
-
USCI_SPI_STAT_UCFE
¶ 1
(0x40)
-
USCI_SPI_STAT_UCLISTEN
¶ 1
(0x80)
-
USCI_ACTL1_SWRST
¶ USCI control A register 1 bitmap.
1
(0x01)
-
USCI_ACTL1_TXBRK
¶ 1
(0x02)
-
USCI_ACTL1_TXADDR
¶ 1
(0x04)
-
USCI_ACTL1_DORM
¶ 1
(0x08)
-
USCI_ACTL1_BRKIE
¶ 1
(0x10)
-
USCI_ACTL1_RXEIE
¶ 1
(0x20)
-
USCI_ACTL1_SSEL_MASK
¶ 1
(0xc0)
-
USCI_ACTL1_SSEL_UCLK
¶ 1
(0x00)
-
USCI_ACTL1_SSEL_ACLK
¶ 1
(0x40)
-
USCI_ACTL1_SSEL_SMCLK
¶ 1
(0xc0)
-
USCI_SPI_CTL1_SWRST
¶ USCI control register 1 bitmap SPI mode.
1
(0x01)
-
USCI_SPI_CTL1_SSEL_MASK
¶ 1
(0xc0)
-
USCI_SPI_CTL1_SSEL_NA
¶ 1
(0x00)
-
USCI_SPI_CTL1_SSEL_ACLK
¶ 1
(0x40)
-
USCI_SPI_CTL1_SSEL_SMCLK
¶ 1
(0xc0)
-
USCI_AMCTL_OS16
¶ USCI modulation A control register.
1
(0x01)
-
USCI_AMCTL_BRS_MASK
¶ 1
(0xe0)
-
USCI_AMCTL_BRS_SHIFT
¶ 1
(1U)
-
USCI_AMCTL_BRF_MASK
¶ 1
(0xf0)
-
USCI_AMCTL_BRF_SHIFT
¶ 1
(4U)
-
USCI_ASTAT_BUSY
¶ USCI status A register bitmap.
1
(0x01)
-
USCI_ASTAT_IDLE
¶ 1
(0x02)
-
USCI_ASTAT_ADDR
¶ 1
(0x02)
-
USCI_ASTAT_RXERR
¶ 1
(0x04)
-
USCI_ASTAT_BRK
¶ 1
(0x08)
-
USCI_ASTAT_PE
¶ 1
(0x10)
-
USCI_ASTAT_OE
¶ 1
(0x20)
-
USCI_ASTAT_FE
¶ 1
(0x40)
-
USCI_ASTAT_LISTEN
¶ 1
(0x80)
-
TIMER_CTL_IFG
¶ Timer Control register bitmap.
1
(0x0001)
-
TIMER_CTL_IE
¶ 1
(0x0002)
-
TIMER_CTL_CLR
¶ 1
(0x0004)
-
TIMER_CTL_MC_MASK
¶ 1
(0x0030)
-
TIMER_CTL_MC_STOP
¶ 1
(0x0000)
-
TIMER_CTL_MC_UP
¶ 1
(0x0010)
-
TIMER_CTL_MC_CONT
¶ 1
(0x0020)
-
TIMER_CTL_MC_UPDOWN
¶ 1
(0x0030)
-
TIMER_CTL_ID_MASK
¶ 1
(0x00c0)
-
TIMER_CTL_ID_DIV1
¶ 1
(0x0000)
-
TIMER_CTL_ID_DIV2
¶ 1
(0x0040)
-
TIMER_CTL_ID_DIV4
¶ 1
(0x0080)
-
TIMER_CTL_ID_DIV8
¶ 1
(0x00c0)
-
TIMER_CTL_TASSEL_MASK
¶ 1
(0x0300)
-
TIMER_CTL_TASSEL_TCLK
¶ 1
(0x0000)
-
TIMER_CTL_TASSEL_ACLK
¶ 1
(0x0100)
-
TIMER_CTL_TASSEL_SMCLK
¶ 1
(0x0200)
-
TIMER_CTL_TASSEL_INV_TCLK
¶ 1
(0x0300)
-
TIMER_CCTL_CCIFG
¶ Timer Channel Control register bitmap.
1
(0x0001)
-
TIMER_CCTL_COV
¶ 1
(0x0002)
-
TIMER_CCTL_OUT
¶ 1
(0x0004)
-
TIMER_CCTL_CCI
¶ 1
(0x0008)
-
TIMER_CCTL_CCIE
¶ 1
(0x0010)
-
TIMER_CCTL_OUTMOD_MASK
¶ 1
(0x00e0)
-
TIMER_CCTL_OUTMOD_OUTVAL
¶ 1
(0x0000)
-
TIMER_CCTL_OUTMOD_SET
¶ 1
(0x0020)
-
TIMER_CCTL_OUTMOD_TOG_RESET
¶ 1
(0x0040)
-
TIMER_CCTL_OUTMOD_SET_RESET
¶ 1
(0x0060)
-
TIMER_CCTL_OUTMOD_TOGGLE
¶ 1
(0x0080)
-
TIMER_CCTL_OUTMOD_RESET
¶ 1
(0x00a0)
-
TIMER_CCTL_OUTMOD_TOG_SET
¶ 1
(0x00c0)
-
TIMER_CCTL_OUTMOD_RESET_SET
¶ 1
(0x00e0)
-
TIMER_CCTL_CAP
¶ 1
(0x0100)
-
TIMER_CCTL_CLLD_MASK
¶ 1
(0x0600)
-
TIMER_CCTL_SCS
¶ 1
(0x0800)
-
TIMER_CCTL_CCIS_MASK
¶ 1
(0x3000)
-
TIMER_CCTL_CM_MASK
¶ 1
(0xc000)
-
SFR_BASE
¶ Base register address definitions.
1
((uint16_t)0x0000)
-
PORT_1_BASE
¶ 1
((uint16_t)0x0020)
-
PORT_2_BASE
¶ 1
((uint16_t)0x0028)
-
PORT_3_BASE
¶ 1
((uint16_t)0x0018)
-
PORT_4_BASE
¶ 1
((uint16_t)0x001c)
-
PORT_5_BASE
¶ 1
((uint16_t)0x0030)
-
PORT_6_BASE
¶ 1
((uint16_t)0x0034)
-
CLK_BASE
¶ 1
((uint16_t)0x0053)
-
USART_0_BASE
¶ 1
((uint16_t)0x0070)
-
USART_1_BASE
¶ 1
((uint16_t)0x0078)
-
TIMER_IVEC_BASE
¶ 1
((uint16_t)0x011e)
-
TIMER_A_BASE
¶ 1
((uint16_t)0x0160)
-
TIMER_B_BASE
¶ 1
((uint16_t)0x0180)
-
WD_BASE
¶ 1
((uint16_t)0x0120)
-
USCI_0_BASE
¶ 1
((uint16_t)0x005d)
-
USCI_0_A_BASE
¶ 1
((uint16_t)0x0060)
-
USCI_0_B_BASE
¶ 1
((uint16_t)0x0068)
-
USCI_1_BASE
¶ 1
((uint16_t)0x00cd)
-
USCI_1_A_BASE
¶ 1
((uint16_t)0x00d0)
-
USCI_1_B_BASE
¶ 1
((uint16_t)0x00d8)
-
SFR
¶ Typing of base register objects.
1
((msp_sfr_t *)SFR_BASE)
-
PORT_1
¶ 1
((msp_port_t *)PORT_1_BASE)
-
PORT_2
¶ 1
((msp_port_t *)PORT_2_BASE)
-
PORT_3
¶ 1
((msp_port_t *)PORT_3_BASE)
-
PORT_4
¶ 1
((msp_port_t *)PORT_4_BASE)
-
PORT_5
¶ 1
((msp_port_t *)PORT_5_BASE)
-
PORT_6
¶ 1
((msp_port_t *)PORT_6_BASE)
-
CLK
¶ 1
((msp_clk_t *)CLK_BASE)
-
USART_0
¶ 1
((msp_usart_t *)USART_0_BASE)
-
USART_1
¶ 1
((msp_usart_t *)USART_1_BASE)
-
TIMER_IVEC
¶ 1
((msp_timer_ivec_t *)TIMER_IVEC_BASE)
-
TIMER_A
¶ 1
((msp_timer_t *)TIMER_A_BASE)
-
TIMER_B
¶ 1
((msp_timer_t *)TIMER_B_BASE)
-
WD
¶ 1
((msp_wd_t *)WD_BASE)
-
USCI_0
¶ 1
((msp_usci_t *)USCI_0_BASE)
-
USCI_1
¶ 1
((msp_usci_t *)USCI_1_BASE)
-
USCI_0_A_SPI
¶ 1
((msp_usci_spi_t *)USCI_0_A_BASE)
-
USCI_0_B_SPI
¶ 1
((msp_usci_spi_t *)USCI_0_B_BASE)
-
USCI_1_A
¶ 1
((msp_usci_t *)USCI_1_A_BASE)
-
USCI_1_B
¶ 1
((msp_usci_t *)USCI_1_B_BASE)
-
struct
msp_sfr_t
¶ Special function registers.
-
msp430_regs.h::REG8
IE1
¶ interrupt enable 1
-
msp430_regs.h::REG8
IE2
¶ interrupt enable 2
-
msp430_regs.h::REG8
IFG1
¶ interrupt flag 1
-
msp430_regs.h::REG8
IFG2
¶ interrupt flag 2
-
msp430_regs.h::REG8
ME1
¶ module enable 1
-
msp430_regs.h::REG8
ME2
¶ module enable 2
-
-
struct
msp_port_t
¶ Digital I/O Port w/o interrupt functionality (P3-P6)
-
msp430_regs.h::REG8
IN
¶ input data
-
msp430_regs.h::REG8
OD
¶ output data
-
msp430_regs.h::REG8
DIR
¶ pin direction
-
msp430_regs.h::REG8
SEL
¶ alternative function select
-
-
struct
msp_port_isr_t
¶ Digital I/O Port with interrupt functionality (P1 & P2)
-
msp430_regs.h::REG8
IN
¶ input data
-
msp430_regs.h::REG8
OD
¶ output data
-
msp430_regs.h::REG8
DIR
¶ pin direction
-
msp430_regs.h::REG8
IFG
¶ interrupt flag
-
msp430_regs.h::REG8
IES
¶ interrupt edge select
-
msp430_regs.h::REG8
IE
¶ interrupt enable
-
msp430_regs.h::REG8
SEL
¶ alternative function select
-
-
struct
msp_usart_t
¶ USART (UART, SPI and I2C) registers.
-
msp430_regs.h::REG8
CTL
¶ USART control.
-
msp430_regs.h::REG8
TCTL
¶ transmit control
-
msp430_regs.h::REG8
RCTL
¶ receive control
-
msp430_regs.h::REG8
MCTL
¶ modulation control
-
msp430_regs.h::REG8
BR0
¶ baud rate control 0
-
msp430_regs.h::REG8
BR1
¶ baud rate control 1
-
msp430_regs.h::REG8
RXBUF
¶ receive buffer
-
msp430_regs.h::REG8
TXBUF
¶ transmit buffer
-
-
struct
msp_usci_t
¶ USCI universal serial control interface registers.
-
msp430_regs.h::REG8
ABCTL
¶ auto baud rate control
-
msp430_regs.h::REG8
IRTCTL
¶ IrDA transmit control.
-
msp430_regs.h::REG8
IRRCTL
¶ IrDA receive control.
-
msp430_regs.h::REG8
ACTL0
¶ A control 0.
-
msp430_regs.h::REG8
ACTL1
¶ A control 1.
-
msp430_regs.h::REG8
ABR0
¶ A baud rate control 0.
-
msp430_regs.h::REG8
ABR1
¶ A baud rate control 1.
-
msp430_regs.h::REG8
AMCTL
¶ A modulation control.
-
msp430_regs.h::REG8
ASTAT
¶ A status.
-
msp430_regs.h::REG8
ARXBUF
¶ A receive buffer.
-
msp430_regs.h::REG8
ATXBUF
¶ A transmit buffer.
-
msp430_regs.h::REG8
BCTL0
¶ B control 0.
-
msp430_regs.h::REG8
BCTL1
¶ B control 1.
-
msp430_regs.h::REG8
BBR0
¶ B baud rate 0.
-
msp430_regs.h::REG8
BBR1
¶ B baud rate 1.
-
msp430_regs.h::REG8
BI2CIE
¶ I2C interrupt enable.
-
msp430_regs.h::REG8
BSTAT
¶ B status.
-
msp430_regs.h::REG8
BRXBUF
¶ B receive buffer.
-
msp430_regs.h::REG8
BTXBUF
¶ B transmit buffer.
-
-
struct
msp_usci_spi_t
¶ USCI SPI specific registers.
-
msp430_regs.h::REG8
CTL0
¶ control 0
-
msp430_regs.h::REG8
CTL1
¶ control 1
-
msp430_regs.h::REG8
BR0
¶ baud rate 0
-
msp430_regs.h::REG8
BR1
¶ baud rate 1
-
msp430_regs.h::REG8
reserved
¶ reserved
-
msp430_regs.h::REG8
STAT
¶ status
-
msp430_regs.h::REG8
RXBUF
¶ receive buffer
-
msp430_regs.h::REG8
TXBUF
¶ transmit buffer
-
-
struct
msp_timer_ivec_t
¶ Timer interrupt status registers.
-
msp430_regs.h::REG16
TBIV
¶ TIMER_A interrupt status.
-
msp430_regs.h::REG16
reserved
()¶ reserved
-
msp430_regs.h::REG16
TAIV
¶ TIMER_B interrupt status.
-
-
struct
msp_timer_t
¶ Timer module registers.
-
msp430_regs.h::REG16
CTL
¶ timer control
-
msp430_regs.h::REG16
CCTL
()¶ capture compare channel control
-
msp430_regs.h::REG16
R
¶ current counter value
-
msp430_regs.h::REG16
CCR
()¶ capture compare channel values
-
msp430_regs.h::REG16
reserved
()¶ reserved
-
msp430_regs.h::REG16
IV
¶ interrupt vector
-
msp430_regs.h::REG16
EX0
¶ expansion 0
-