Hallo Com,
ich habe mir dieses Display von Conrad gekauft und wollte darauf(über den I2C Bus) etwas schreiben.
Display:
HTML-Code:
http://www.conrad.de/ce/de/product/191621/DISPLAY-RP5RP6-BLAU-MIT-BACKLIGHT/2420181&ref=list
Ich hab dieses Programm geschrieben:
Code:
#include "RP6RobotBaseLib.h"

#include "RP6I2CmasterTWI.h"


void I2C_transmissionError(uint8_t errorState)
{
    writeString_P("\nI2C ERROR - TWI STATE: 0x");
    writeInteger(errorState, HEX);
    writeChar('\n');
}

#define PCF8574_LCD_ADR  0x70

void task_meinProg(void)
{
    static uint8_t writeString_P = 3;
    
    if(writeString_P == 3)
    
    I2CTWI_transmitByte(PCF8574_LCD_ADR, (writeString_P) );
    writeString_P("Hallo,ich bin Robby!\n");
}    

int main(void)
{
    initRobotBase();
    
    I2CTWI_initMaster(100);
    
    I2CTWI_setTransmissionErrorHandler(I2C_transmissionError);

    setLEDs(0b111111);
    mSleep(500);       
    setLEDs(0b000000);
    
    powerON();
    

    
    while(true)  
    {
        task_I2CTWI(); 
        task_RP6System();
    }
    return 0;
}
Leider hat das ganze nicht funktioniert.
Also habe ich nun ein paar Fragen:
Wo muss ich das Display genau anschließen( XBUS1,XBUS2,USRBUS2,USRBUS1)?
Woher weiß ich welche Adresse ich ansteuern muss?
I2CTWI_transmit2Bytes(10, 2, 128 ) Das stand in der Anleitung(10 ist die Adresse und der Rest sind Bytes)Wie mache ich daraus den Befehl,dass das Display "Hallo,ich bin Robby!" schreibt?
Code:
void task_meinProg(void)
{
    static uint8_t writeString_P = 3;
    
    if(writeString_P == 3)
    
    I2CTWI_transmitByte(PCF8574_LCD_ADR, (writeString_P) );
    writeString_P("Hallo,ich bin Robby!\n");
}
Dieser Teil bereitet mir die meisten Probleme.Ich muss writeString_P definieren,das sagte mir jedenfalls Porgrammers Notepad bei den Fehlern.
ich habe dann wie in einem Beispielprogramm eifnach mal die Zahl 3 eingesetzt,wie löse ich das ganze jetzt?

mfG