---
jupytext:
  formats: md:myst
  text_representation:
    extension: .md
    format_name: myst
    format_version: 0.13
    jupytext_version: 1.11.5
kernelspec:
  display_name: Python 3
  language: python
  name: python3
---


# <font color='#4B9DA9'> API </font> 

I2C rozhranie je možné v MicroPython-e používať v natívnom (hardwarovom) mode viazanom piny určené hardwarovou konfiguráciou ako aj v emulovanom softwarovom móde. 


## <font color='#FE9A37'> Inicializácia  </font> 

Obsluha I2C rozhrania je implementovaná v module *pyb*. V mcu STM32L476 sú piny I2C premapované, konfuguráciu pinov SDA/SCL získame výpisom vlastností rozhrania 

```Python
from machine import I2C
i2c = I2C(1,freq=400000)       # inicializacia HW SPI(1)
print(i2c)                     # konfiguracia I2C(1, scl=B8, sda=B9 ...)
print(i2c.scan())               # scan zbernice, [ ... ]
```

## <font color='#FE9A37'> Inicializácia SW rozhrania </font>

Pri inicializácii je potrebné definovať piny portov, ku ktorým budú pripojené periférie.

```Python
from machine import I2C
from machine import SoftI2C 

sic = SoftI2C(sda='PB7', scl='B6', freq=400000)
print(sic.scan())                # -> [ ... ] 

## <font color='#FE9A37'> Funkcie  </font> 


