- 3D-Druck Einstieg und Tipps         
Seite 7 von 7 ErsteErste ... 567
Ergebnis 61 bis 70 von 70

Thema: Raspberry Pi I2C

  1. #61
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Anzeige

    Praxistest und DIY Projekte
    Also das I²C Problem hat sich wohl gelöst.
    Ich Depp habe vergessen, dass das EEPROM eine 16-Bit Adresse hatte und beim PSoC habe ich ein Byte zuviel gesendet, da ich dachte man müsse einen Pointer setzen ab wann man das EEPROM auslesen will.
    Wenn ich aber nur

    i2cget -y 0 0x40

    sende, statt wie vorher

    i2cget -y 0 0x40 0x00

    klappt es 1a.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  2. #62
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Zitat Zitat von Kampi Beitrag anzeigen
    Also das I²C Problem hat sich wohl gelöst.
    Ich Depp habe vergessen, ....
    klappt es 1a.
    Wieder die Sache mit dem zwischen Monitor und Bürostuhl. Aber schön das es nun funktioniert und nichts Schlimmeres der Grund war.
    Grüße,
    Daniel

  3. #63
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Ja aber erstmal nur mit dem EEPROM. Den PSoC kann ich bisher nur auslesen aber mit dem Schreiben weiß ich noch nichts neues.
    Da kommt immer ein Error :/
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  4. #64
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Heyho,

    hab mal wieder bisschen rumgespielt und dabei ist ein Programm rausgekommen um eine DS1307 auszulesen (gar nicht gewusst das man das Ding nicht mit 3,3V betreiben kann. Habs erst gemacht und dann gewundert warum ich das Ding nicht im Bus gesehen habe..... -.-)
    Code:
    // Compile with: GCC /Programme/DS1307.c -o /Programme/DS1307
    
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <linux/i2c-dev.h>
    #include <linux/i2c.h>
    #include <fcntl.h>
    #include <string.h>
    #include <sys/ioctl.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <unistd.h>
    
    
    #define Buffer 7
    
    
    char BCD2D(char Wert)
    {
    	return (Wert%16 + 10 * (Wert/16));
    }
    
    
    int main()
    {
    	int File;
    	char Device[] = "/dev/i2c-0";
    	char RTC = 0x68;
    	char Date[7];
    	int i;
    	
    	if ((File = open("/dev/i2c-0", O_RDWR)) < 0) 														// I²C aktivieren
    	{
    		printf("I²C Modul kann nicht geladen werden!\n");
    	    return -1;
    	}
    	
    	if (ioctl(File, I2C_SLAVE, RTC) < 0) 																// Port und Adresse setzen
    	{					
    		printf("Deviceadresse wurde nicht gefunden!\n");
    		exit(1);
    	}
    	
    	Date[0] = 0;																						// Pointer auf Adresse 0 (Startadresse) setzen
    	
    	if(write(File, Date, 1) != 1) 
    	{
    		printf("Fehler beim Schreiben der Daten!\n");
    		return -1;
    	}
    	
    	if (read(File, Date, Buffer) != Buffer) 
    	{
    		printf("Fehler beim Lesen der Daten!\n");
    		return -1;
    	} 
    	else 
    	{
    		// Werte von BCD in Dezimal umwandeln
    		for(i = 0; i < Buffer; i++) 
    		{
    			Date[i] = BCD2D(Date[i]);
    		}
    		
    		printf("DS1307 Ausgabe");
    		printf("\n");
    		printf("\n");
    		
    		// Uhrzeit ausgeben
    		printf("Stunden: %d", Date[2]);
    		printf("\n");
    		printf("Minuten: %d", Date[1]);
    		printf("\n");
    		printf("Sekunden: %d", Date[0]);
    		printf("\n");
    
    
    		// Tage ausgeben
    		printf("Jahr: 20%d", Date[6]);
    		printf("\n");
    		printf("Monat: %d", Date[5]);
    		printf("\n");
    		printf("Tag: %d", Date[4]);
    		printf("\n");
    
    
    		
    		printf("Wochentag: %d", Date[3]);
    		printf("\n");
    	}
    	
    	close(File);
    	return 0;
    }
    Geändert von Kampi (10.10.2012 um 21:11 Uhr) Grund: Code aktualisiert
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #65
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.02.2006
    Beiträge
    982
    Laesst du deine I2C Funktionen im main()?
    Ich hab mich gestern noch ein wenig mit C befasst (kompletter C-Anfaenger) und angefangen dass nach bestem Wissen und Gewissen in Funktionen und in separate files zu packen.
    Vllt. kann ich dich ja als debug user begeistern wenn ich fertig bin
    (bevor ich wieder erschlagen werd, ja ich bin mir sicher da gibts schon *.h und *.c files fuer, aber der Lerneffekt... )
    Nam et ipsa scientia potestas est..

  6. #66
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Das Programm nutze ich jetzt eh nimmer. Hab mein Raspberry Pi so eingestellt, dass es die Uhrzeit aus der DS1307 holt. Dadurch wird die RTC quasi blockiert und die Systemzeit des Pis immer aktuell.....netter kleiner Stolperstein war noch die Zeitzone....hab mich gewundert warum die Zeit dauernd zwei Stunden hinterher ging ^.^
    Aber ansonsten wüsste ich bei dem Programm keinen Grund die Sachen nochmal in Funktionen zu packen.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  7. #67
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Also ich habe eben nochmal bisl rumprobiert (diesmal mit einem anderen PSoC Board).
    Das Lesen klappt auf einmal problemlos.......sogar mit dem ersten Board.....
    Schreiben schlägt noch immer fehl......aber zumindest habe ich jetzt meine CapSense Tasten am Pi hängen und kann die auswerten. Bei denen brauche ich eigtl nicht schreiben ^.^
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  8. #68
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Hey,

    ich wollte nur mal einen aktuellen Stand posten......
    Ich habe es nun mittlerweile geschafft den PSoC als Slave zu nutzen.
    Der Fehler war anscheinend die Geschwindigkeit. Mit 100k kann ich nur lesen und nicht schreiben. Aber bei 400k klappt beides (hätte ich mal früher drauf kommen können dies zu testen >.<)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  9. #69
    Benutzer Stammmitglied Avatar von porter91
    Registriert seit
    15.07.2012
    Beiträge
    54
    Hey wo bekomm ich die includes für das I"c auf dem Pi her ??
    Bin gerene bereit Hilfe zu leisten, freue mich wenn auch mir geholfen werden kann.
    Entschuldigt bitte Rechtschreibfehler falls welche vorkommen

  10. #70
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Die sind schon auf dem Pi. Ich habe zumindest nichts installieren müssen.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

Seite 7 von 7 ErsteErste ... 567

Ähnliche Themen

  1. [ERLEDIGT] Raspberry Pi GPIO
    Von Kampi im Forum Raspberry Pi
    Antworten: 4
    Letzter Beitrag: 04.11.2012, 22:45
  2. [ERLEDIGT] Raspberry Pi Übertakten
    Von Kampi im Forum Raspberry Pi
    Antworten: 2
    Letzter Beitrag: 21.09.2012, 22:03
  3. [ERLEDIGT] Kommunikation AVR <-> Raspberry
    Von Goldenflash im Forum Raspberry Pi
    Antworten: 6
    Letzter Beitrag: 04.09.2012, 08:30
  4. Raspberry PI Lieferzeit
    Von Thalhammer im Forum Offtopic und Community Tratsch
    Antworten: 9
    Letzter Beitrag: 01.08.2012, 16:12
  5. Verkaufe Raspberry Pi zu verkaufen
    Von FD im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 8
    Letzter Beitrag: 03.07.2012, 07:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad