CodeVisionAVR ATmega16: TWI komunikace s 2x MAX517 obvody

chci přes TWI komunikovat se 2 max517 v asm mi to funguje ale nevim jak to napsat v cv, twi.h obsahuje twi_master_trans ale nevim jak mu mám dát ty hodnoty jsou tam nějaké pointery ale nevím jak s tím pracovat

:arrow_right: administrator: přejmenováno z "codevision atmega16 TWI"

pokud používáš codevision, a nepotřebuješ nutně využívat HW periferii TWI - využij raději knihovnu I2C - výhodou je, že si můžeš piny pro SDA,SCL zvolit jaké chceš - nejlépe ve wizzardu

pakuž budeš potřebovat jenom:

[code]
#include <i2c.h>

unsigned char I2Cread(unsigned char address,unsigned char chip)
{
unsigned char data;
i2c_start();
i2c_write(chip); //adresa součástky
i2c_write(address); // buňka kterou chceš číst
i2c_start();
i2c_write(chip|1);
data=i2c_read(0);
i2c_stop();
return data;
}

void I2Cwrite(unsigned char address,unsigned char chip,unsigned char data)
{
i2c_start();
i2c_write(chip); //adresa součástky
i2c_write(address); //buňka kterou chceš zapsat
i2c_write(data);
i2c_stop();
}[/code]

nevýhodou je ale absence přerušení

a nebo jestli už máš funkční rutiny v asm, tak je tam prostě vlož:

#asm .......... .......... //tvůj kód v asm ......... ........ #endasm