- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 16

Thema: Atmega 16x2 LCD Ansteuerung über TWI

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.03.2015
    Beiträge
    31
    Erstmal danke für die Antwort.
    Hab das Kapitel über TWI im Datenblatt gefunden. Es fängt auf Seite 169 an falls du es selbst lesen willst. Jetz steht dort aber "TWDR = SLA_W;". Wenn ich das im Atmel Studio eingebe bekomme ich da aber kein Vorschaufenster. Ist das jetzt eine feststehende Variable die irgendwo definiert wurde oder muss ich die selbst definieren oder ist das was ganz anderes? Dann steht da noch "TWDR = DATA". Ich geh mal davon aus, dass man das vorher definieren muss. Ist Data hier ein Hexadezimalbefehl oder kann das irgendein string sein um den an den LCD zu senden?

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.091
    Sla_w ist die schreibadresse des slave. Das ist eine variable. Diese ist für jedes Bauteil unterschiedlich und steht im Datenblatt des jeweiligen Bauteils.
    Data ist die variable mit den Daten die du dem Bauteil senden willst.

    MfG Hannes

  3. #3
    Unregistriert
    Gast
    Such mal nach "Modulares Board". Dort wir die Ansteuerung komplett mit Hardware gezeigt. Bei mir hat es damit sofort geklappt

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    19.03.2015
    Beiträge
    31
    Das LCD war bei einem Fundinoset dabei hab jetzt als Slaveadresse 0x27 gefunden. Was muss in Data drinstehen? Wenn ich beispielsweiße TWDR = 0x01 eingebe müsste er das Display dann löschen. In den Headerdateien sehe ich jetzt aber nicht, dass es einen speziellen Befehl gibt um Text auf an das Display zu senden. Reicht es dann wenn ich DATA = string setze?

    Hab auch mal Modulares Board gegoogelt bei der Seite von microcontroller werden da irgendwelche headerdateien verwendet, die ich nicht finden konnte oder irgendwas übersehen habe.

  5. #5
    Unregistriert
    Gast
    Die Haederdatein stehen nicht auf dieser Seite. Am Ende hat der Autor seine Adresse drin. Habe mir das komplette Programm mit allen Datein geholt. Habe alles ohne Probleme bekommen. Programme sind C und laufen mit AVR Studio 6. Habe auch nur die Software genommen, in der Hardware stehen einiges zu Adressen drin
    Paule

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    19.03.2015
    Beiträge
    31
    Das mit den Headerdatein funktioniert nicht so richt.
    Hab jetzt den Code etwas geändert:
    Code:
    #define F_CPU 1000000UL
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {	
    	TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTA);
    	while (!(TWCR & (1<<TWINT)));
    	TWBR = 0b00000010;
    	TWCR = (1<<TWINT) | (1<<TWEN);
    	while (!(TWCR & (1<<TWINT)));
    	TWDR = 0x27;
    	TWCR = (1<<TWINT) | (1<<TWEN);
    	while (!(TWCR & (1<<TWINT)));
    	TWDR = 0x02;
    	TWCR = (1<<TWINT) | (1<<TWEN);
    	while (!(TWCR & (1<<TWINT)));
    	_delay_ms(5000);
    	TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
    	
    	
        while(1)
        {
    		
        }
    }
    Da ich immer noch nicht weiß wie ich chars übertragen kann hab ich einen Befehl übertragen der normalerweiße den Courser zeigen sollte,was allerdings nicht funktioniert. Was ist hier an den Code falsch? Hat vielleicht jemand ein Codebeispiel für ein 16x2 LCD?

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.091
    Zuerst musst du die slaveadresse senden (bei dir 0x27). Diese Adresse ist aber die leseadresse. Lies einmal im Internet über die Grundlagen nach. Z.b. http://www.timmermann.org/ralph/inde...tronik/i2c.htm oder www.i2c-bus.org

    Dort steht alles genau beschrieben. Also wenn du etwas schreiben willst.
    Slave Adresse schreiben
    Register
    Kommando

    MfG Hannes

Ähnliche Themen

  1. 16x2 LCD mit Bascom
    Von Dunuin im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 20.09.2010, 15:11
  2. 16x2 LCD anschließen
    Von .:Robin:. im Forum Robby RP6
    Antworten: 9
    Letzter Beitrag: 27.03.2009, 22:27
  3. Problem mit EA DOG 16x2
    Von m_herr im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 10
    Letzter Beitrag: 25.07.2007, 21:31
  4. Ansteuerung eines Motors mit ATmega µC (totaler Noob)
    Von Athlonxp2000 im Forum Motoren
    Antworten: 3
    Letzter Beitrag: 24.12.2006, 16:04
  5. Antworten: 10
    Letzter Beitrag: 16.08.2006, 12:23

Berechtigungen

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

Solar Speicher und Akkus Tests