Ik ben begonnen met het schrijven van een I2C programma waarmee ik 8 leds kan laten werken als een looplichtje.
Ik gebruik de PCF8574(A) I2C I/O bus expander en de juiste adres instellingen is mij wel gelukt namelijk
(0x70 = voor de uitgangen) en (0x73 = voor de ingangen).
Hier zie je mijn code tot nu toe:
Ik weet dat het niet handig is om mijn programma in een While lus te schrijven maar ik ben bezig met het beheersen van de "C++ programeer taal" en is het de bedoeling dat ik
aparte functies ga maken, maar kan iemand mij helpen met het simpel weg inlezen van IC2 (zie code) en vervolgens weer uitlezen via IC1.
#include <Mega16.h>
// I2C Bus functions
#asm
.equ __i2c_port=0x15
.equ __sda_bit=1
.equ __scl_bit=0
#endasm
#include <i2c.h>
#include <delay.h>
#define IC1 0x70 //adres pcf8574a write functie
#define IC2 0x73 //adres pcf8574a read functie
#define Delay 500
while (1)
{
i2c_start();
i2c_read(IC2);
i2c_read(0); //alle pinnen van pcf8574a lezen
ic2_stop();
i2c_start();
i2c_write(IC1);
i2c_write(255);
delay_ms(Delay);
i2c_write(0);
delay_ms(Delay);
i2c_stop();