- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
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
    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?

  2. #2
    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

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    19.03.2015
    Beiträge
    31
    Kannst du vielleicht,wenn es nicht allzu viele Umstände macht, eine Übertragung als Code schreiben? Ich weiß nicht ob ich mir das zu kompliziert mache. Ich Suche schon die ganze Zeit in den Headerdateien die Befehle um ein Wort auf dem LCD anzuzeigen. Die Headerdateien benutzen aber auch noch Headerdateien wie beispielsweiße die "Wire.h" Datei vom Arduino um Strings zu senden.

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.091
    Hast du dich schon einmal über die Grundlagen des I2C informiert? Bei I2C wird immer byteweise übertragen. Du kannst deshalb nicht einfach schreiben twdr='hallo';.

    Was du bis jetzt noch nicht geschrieben hast ist was das für ein LCD ist. Ein normales LCD Display hat kein I2C sondern eine 4 bzw 8bit paralellschnittstelle.

    Im Datenblatt steht alles drinnen was du benötigst.

    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
  •  

12V Akku bauen