\ ********************************************************************* \ tools for REGISTERS definitions and manipulations \ Filename: registersDefinitions.txt \ Date: 02 apr 2022 \ Updated: 02 apr 2022 \ MCU: ESP32-WROOM-32 \ Forth: ESP32forth all versions 7.x++ \ Copyright: Marc PETREMANN \ Author: Marc PETREMANN \ GNU General Public License \ ********************************************************************* DEFINED? --defREG [if] forget --defREG [then] create --defREG \ clear mas in addr : mclr { mask addr -- } addr @ mask invert and addr ! ; \ set mask in addr : mset { mask addr -- } addr @ mask or addr ! ; \ test mask in addr : mtst { mask addr -- x } addr @ mask and ; \ define a register, similar as constant : defREG: create ( addr1 --) , does> ( -- regAddr ) @ ; \ display reg content : .reg ( reg -- ) base @ >r binary @ <# 4 for aft 8 for aft # then next bl hold then next #> cr space ." 33222222 22221111 11111100 00000000" cr space ." 10987654 32109876 54321098 76543210" cr type r> base ! ; : defMASK: create ( mask position -- ) swap , , does> ( -- mask position ) dup @ over cell + @ ; \ == EXAMPLES: ====== $3FF48484 defREG: RTCIO_PAD_DAC1_REG \ DAC1 configuration register $3FF48488 defREG: RTCIO_PAD_DAC2_REG \ DAC2 configuration register $3FF48898 defREG: SENS_SAR_DAC_CTRL1_REG \ DAC control $3FF4889c defREG: SENS_SAR_DAC_CTRL2_REG \ DAC output control
Legal: site web personnel sans commerce / personal site without seling