-         

Ergebnis 1 bis 3 von 3

Thema: I2C-Slave Probleme

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    23.11.2009
    Alter
    24
    Beiträge
    474
    Blog-Einträge
    4

    Frage I2C-Slave Probleme

    Anzeige

    Hallo Leute,
    ich arbeite zurzeit daran meinen Atmega zu einem I2C Slave zu machen, er soll am Ende die UART Ausgaben verschiedener Geräte parsen und per I2C zur Verfügung stellen, hierzu benutze ich das Code beispiel aus dem Wiki:http://www.rn-wissen.de/index.php/TWI_Slave_mit_avr-gcc
    Problem ist, es funktioniert nicht, wenn ich die Register mit dem Master auslese sind sie immer leer.
    Hiermal meine Code: (Ist die vereinfachte Test version, schreibt nur etwas ins 0. Register)
    Code:
    #ifndef F_CPU
    /* Definiere F_CPU, wenn F_CPU nicht bereits vorher definiert 
       (z. B. durch Übergabe als Parameter zum Compiler innerhalb 
       des Makefiles). Zusätzlich Ausgabe einer Warnung, die auf die
       "nachträgliche" Definition hinweist */
    #warning "F_CPU war noch nicht definiert, wird nun mit 14745600 definiert"
    #define F_CPU 8000000UL     /* Quarz mit 14.7456 Mhz */
    #endif
    #include <util/delay.h> 
    #include <avr/io.h>
    #include "uart.h"
    #include "twimaster.h"
    #include "twislave.h"
    #include <stdio.h>
    
    uint8_t I2C_Adress = 0x20;
    void long_delay(uint16_t ms)
    {
        for(; ms>0; ms--) _delay_ms(1);
    }
    
    
    
     void setLED(bool value){
        if(value)
             PORTB &= ~(1 << PB2);
        else 
            PORTB |= (1 << PB2);
    } 
    
    int main(void) 
    {
        DDRB     |=     (1 << DDB2);
        setLED(true);
    
    
        init_twi_slave(I2C_Adress);
        sei();
        i2cdata[0]= 5;
    
    }
    Achja, i2cslave und i2cmaster entsprechen dem Wiki.
    Was mache ich falsch? Für Hilfe wäre ich sehr dankbar,
    Viele Grüße
    Geändert von Sebas (18.02.2013 um 15:40 Uhr) Grund: hab was vergessen

  2. #2
    Benutzer Stammmitglied Avatar von porter91
    Registriert seit
    15.07.2012
    Beiträge
    54
    Hey der code vom Master wäre auch mal toll und wie ich das sehe fehlt die lib für die interruptts
    Bin gerene bereit Hilfe zu leisten, freue mich wenn auch mir geholfen werden kann.
    Entschuldigt bitte Rechtschreibfehler falls welche vorkommen

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    23.11.2009
    Alter
    24
    Beiträge
    474
    Blog-Einträge
    4
    Das mit den Interrupts muss ich morgen gleich mal ausprobieren, den Master Code hab ich nicht da, aber auch mit einem I2C zu USB Teil klappt es nicht, und der Master Code ist schon länger in Benutzung und kann somit als Fehlerquelle ausgeschlossen werden, irgendwas ist im Atmega Code falsch...

Ähnliche Themen

  1. I2C Master Slave Probleme
    Von Enterprise im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 04.03.2010, 22:06
  2. RP6 Base mal als i2C Master und als I2C Slave
    Von Lurchi im Forum Robby RP6
    Antworten: 6
    Letzter Beitrag: 15.05.2009, 22:08
  3. I2C-Slave
    Von liggi im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 02.01.2008, 17:02
  4. Problem: Zwei MEGA8 via I2C-Bus koppeln (mit I2C-slave-Lib)
    Von Ulfens im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 11.01.2006, 16:25
  5. Probleme mit I2C/TWI-Slave -> Master funktioniert
    Von Florian im Forum AVR Hardwarethemen
    Antworten: 19
    Letzter Beitrag: 13.03.2005, 11:19

Berechtigungen

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