Nun eigendlich möchte ich mit Hilfe dieser Bibliothek die PCF-Bausteine auf dem rnbfra ansprechen. Jedoch klappt dies nicht.
Habe folgende Einstellungen vorgenommen.
In der i2cmaster.S
#define SDA 1
#define SCL 0
#define SDA_PORT PORTC
#define SCL_PORT PORTC
In der twinmaster.c
#define F_CPU 8000000UL
#define SCL_CLOCK 100000L
und die i2cmaster.h unverändert gelassen.
nun mein Programm:
Code:
// Bibliotheken *********************************************
#include <avr/io.h>
#include <stdint.h>
#include <avr/delay.h>
#include "i2cmaster.h"
// Definitionen *********************************************
#define PCF1 0x72
#define PCF2 0x7E
#define PCF3 0x74
#define SYSCLK 8000000
// Funktionen **********************************************
void warten(int t) //ermöglicht Pausen
{
_delay_ms(1000);
}
// main Funktion *******************************************
int main(void)
{
uint8_t i2cdaten; //Datenbyte für I2C
i2c_init(); // I2C Peripherie einschalten
i2cdaten = 1;
i2c_start(PCF4+I2C_WRITE); // I2C Start
i2c_write(0x02); // Peripherie einschalten
i2c_stop();
while (1) //Endlosschleife
{
if(i2cdaten > 16){
i2cdaten=1;
}
else
{
i2c_start(PCF3+I2C_WRITE); // I2C Start
i2c_write(i2cdaten); // write value 0x02 to EEPROM
i2c_stop(); // I2C Stop = BUS frei
warten(10);
i2cdaten = i2cdaten*2;
}
}
}
Aber irgendwo ist der Wurm drin. Soll so ein Lauflicht wie das erste Bascombeispiel werden.
Lesezeichen