SPRAA85E November 2005 – December 2017 SM320F2812 , SM320F2812-EP , TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F2801 , TMS320F2801-Q1 , TMS320F2802 , TMS320F2802-Q1 , TMS320F28044 , TMS320F2806 , TMS320F2806-Q1 , TMS320F28062 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28063 , TMS320F28064 , TMS320F28065 , TMS320F28066 , TMS320F28066-Q1 , TMS320F28067 , TMS320F28067-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069 , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F2808 , TMS320F2808-Q1 , TMS320F2809 , TMS320F2810 , TMS320F2810-Q1 , TMS320F2811 , TMS320F2811-Q1 , TMS320F2812 , TMS320F2812-Q1 , TMS320F28232 , TMS320F28232-Q1 , TMS320F28234 , TMS320F28234-Q1 , TMS320F28235 , TMS320F28235-Q1 , TMS320F28332 , TMS320F28333 , TMS320F28334 , TMS320F28335 , TMS320F28335-Q1 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320R2811
Table 4 lists registers that are sensitive to read-modify-write instructions. Depending on the register and how the peripheral is used in the application, effects of a read-modify-write operation may or may not be a concern. This list may not be complete.
Module | Registers | Comments | |
---|---|---|---|
Watchdog | SCSR | WDOVERRIDE is a write 1-to-clear bit and always reads back as a 1. | |
WDCR | WDCHK must be written as 1,0,1 and always read back as 0,0,0. | ||
WDCR | WDFLG is a write 1-to-clear bit. | ||
CPU-Timer | TCR | Timer interrupt flag (TIF) is a write 1-to-clear bit. | |
GPIO | GPxDAT | Use this register to read data and instead use the SET/CLEAR and TOGGLE registers to change the state of GPIO pins. | |
PIE | PIEIFRx | To clear PIEIFR bits, do not write to the PIEIFR register. Instead map the interrupt to a "pseudo" interrupt and service it. That is, let the hardware clear the interrupt flag otherwise interrupts from other peripherals may be missed. | |
PIEACKx | The PIEACK bits are write 1-to-clear bits. | ||
Event Manager (EV)(1) | CAPCONA | CAPCONB | CAPRES is a write-0-to-reset bit and always reads back as 0. |
CAPFIFOA | CAPFIFOB | If a write occurs at the same time that a CAPxFIFO status bit is being updated, the write data takes precedence. Thus if the bit changes between the read and the write phase of a read-modify-write instruction, the new bit value may be lost. | |
EVAIFRA/B/C | EVBIFRA/B/C | The EV interrupt flags are all write 1-to-clear bits. | |
eCAN | CANTRS | CANTRR | The eCAN module can change the state of a bit between the time the register is read and the time it is written back. |
CANTA
CANRMP CANRFP CANGIF0 CANTOS |
CANAA
CANRML CANES CANGIF1 |
These registers contain one or more write 1-to-clear bits. | |
SPI | SPIST | Contains write 1-to-clear bits. | |
I2C | I2CSTR | Contains write 1-to-clear bits. |