This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

TWI controller

What is the main difference between HW controlled TWI master driver and SW controlled TWI master driver?

What is their advantages and disadvantage?

Can they switch between each another in the program code? I try but cannot.

If i get a device using I2C, say a gyro, which driver should i use for that device?

  • There's a HW implemented TWI master and there's a software implemented TWI master. They both have the same functions available and names. The HW one will be slightly better for battery, but the HW had initially when the nRF51 was launched some anomalies that was discovered. To create a workaround while waiting for the HW fix, the SW implementation was made. I would recommend you to stick with one of them and not switch between.

    You can use either of them for your project.

Related