Bascom - dvě nezávislé linky I2C

Dobrý den,
mám poslední legální verzi Bascomu 2.0.7.8, nezkoušel někdo z Vás za chodu programu předefinovat I2C linku na jiné porty ?
Lámu si nad tím delší dobu hlavu, nefunguje mi to.
Příklad:

Config Scl = Porte.5
Config Sda = Porte.4
I2cinit
rutina 1 na čtení dat z I2C
konec rutiny

Config Scl = Porta.4
Config Sda = Porta.2
I2cinit
rutina 2 načtení dat z I2C

Funguje mi jen vždy ta poslední změna (rutina 2) portu a ta první (rutina 1) ne…
Marek

Podívej se do nápovědy na CONFIG I2CBUS.

Tak díky za nakopnutí,
ale je to teda docela problém, v nápovědě například není nic o tom že:

  • že se musí použít “i2cv2.lib” knihovna

  • čísla portů musí být po sobě jdoucí směrem nahoru

  • čísla portů musí být z jedné brány (na jednom řádku konfigurace-
    Config I2cbus = 0 , Scl = Porta.2 , Sda = Porta.3
    Config I2cbus = 1 , Scl = Porte.0 , Sda = Porte.1
    I2cbus = 0
    I2cinit
    I2cbus = 1
    I2cinit )

  • nefunguje tam Err bit=musí se upravit a překompilovat knihovna"i2c-multibus.lib"

A i přesto s pullup rezistory - nic :frowning:

Neuvedl jsi v dotazu, jaký máš procesor - to je celkem základ, protože procesorů s AVR jádrem je celkem dost …
Umístění signálů pro I2C a počet I2C portů je jasně dáno procesorem nebo je potřeba I2C port vytvořit softwarově. Jsi si jistej, že knihovna “i2cv2.lib” vytváří I2C porty softwarově ? Jinými slovy - pokud knihovna “i2cv2.lib” pouze využívá HW porty mcu, pak je 1) procesor musí mít 2) nelze předefinovat umístění signálů.

Ahoj,
je to mega 2560, jde mi o porty: jedna dvojice E5,E4, druhá dvojice A2,A3.
Něco jsem našel zde : electronics598.rssing.com/browse … &item=7005

Na jedné dvojici mám BMP085 a na druhé TLS2561.
Pokud si nadefinuju standardní I2C - config sda= …
tak vždy jedno zařízení funguje. Ale nikdy obě současně…

M

I proč je nepověsit obě na jeded I2C port ? Vždyť součástí I2C komunikace je i adresace zařízení. Druhá varianta je vykašlat se na knihovnu a napsat si obsluhu svoují - obzvlášť pokud jsou to HW porty.

Bascom, uz vidim ako v tom niekto pise. Vlastne rutiny. Vecsinou to pouzivaju zaciatocnici.

Teď jsem si všimnul :

Tak proč rveš druhej I2C na E0, E1 …