i2csoft: add support for software I2C

This commit is contained in:
sago35
2021-09-22 23:31:02 +09:00
committed by Ron Evans
parent 94729a4f7d
commit bd42656644
7 changed files with 396 additions and 1 deletions
+22
View File
@@ -0,0 +1,22 @@
//go:build !esp32 && !atsamd51 && !atsame5x
// +build !esp32,!atsamd51,!atsame5x
package i2csoft
import (
"device"
)
func (i2c *I2C) wait() {
// atsamd21 @ 48MHz
// 1 : about 360kHz
// 24 : about 96kHz
wait := 1
if i2c.baudrate < 400*1e3 {
wait = 19
}
for i := 0; i < wait; i++ {
device.Asm(`nop`)
}
}