anchor.diff:  \ Medium level actions, no or limited status checking
   
   : i2c-start ( -- ) \ set start bit and wait for start condition
  -  i2c-start! i2c-SR1-SB i2c-SR1-wait ; 
  +  i2c-start! i2c-SR1-SB i2c-SR1-wait ;
   
   : i2c-stop  ( -- )  i2c-stop! begin i2c-MSL? 0= until ; \ stop and wait
   
  
positive.code: 21 bit constant APB1-I2C1-EN
  21 bit constant APB1-RST-I2C1
  
  $40021000 constant RCC
       RCC $00 + constant RCC-CR
       RCC $04 + constant RCC-CFGR
       RCC $10 + constant RCC-APB1RSTR
       RCC $14 + constant RCC-AHBENR
       RCC $18 + constant RCC-APB2ENR
       RCC $1C + constant RCC-APB1ENR
  
       0 variable i2c.cnt
       0 variable i2c.addr
  
negative.code:   \ Reset I2C peripheral
     15 bit I2C1-CR1 hbis!
     15 bit I2C1-CR1 hbic!
  
    \ Enable I2C peripheral
    21 bit RCC-APB1ENR bis!  \ set I2C1EN
  