I2C Bus,absoluter Anfänger,C18,

Gast #675739
Lesenswert?

ich möchte auf einem 24c04 ein byte schreiben,dieses wieder auslesen und 
auf der seriellen schnittstelle zur kontrolle wieder ausgeben.
eingestellt habe ich den bus auf 400khz.
mit dem programmcode jetzt,müßte ich doch hyperterminal eine null 
sehen.ist aber leider nicht der fall.ich sehe,lauter kommas.wie 
gesagt,ich bin absoluter anfänger und muß mich irgendwie 
durchhangeln.ziel soll es sein,irgendwann einen pca9531(pwm-modul)zu 
beschreiben.
ich danke schon mal für die eventuelle hilfe.

#include <i2c.h>
#include <delays.h>
#include <usart.h>
#include <p18f252.h>

#pragma config OSC = HS   //CPU=20 MHz
#pragma config PWRT = ON
#pragma config BOR = OFF
#pragma config WDT = OFF  //Watchdog Timer
#pragma config LVP = OFF
unsigned int test;
unsigned int test2;

void main()
{
test=0x30;
OpenI2C(MASTER, SLEW_ON);
SSPADD=4;
OpenUSART (   USART_TX_INT_OFF  &
        USART_RX_INT_OFF  &
        USART_ASYNCH_MODE  &
        USART_EIGHT_BIT    &
        USART_CONT_RX  &
        USART_BRGH_HIGH,
        25);
while(1)
{
EEByteWrite(0x00,0x30, test);
EECurrentAddRead(0x00);
EERandomRead(0x00,0x30);
WriteUSART(EERandomRead);
Delay10KTCYx(1000);
}

}
Gast #675868
Lesenswert?

EERandomRead(0x00,0x30);
WriteUSART(EERandomRead);


Offenbar ist EERandomRead eine Funktion und keine einfache Variable.
Was soll der Compiler mit dieser Doppeldeutigkeit anfangen?
Lass mal die obere Zeile weg und schreibe nur

WriteUSART(EERandomRead(0x00,0x30));

Ich kenne diese Routinen nicht, von daher ist das auch keine 
Funktionsgarantie.

Übrigens, Deine Tastatur scheint defekt zu sein (z.B. Shift-Taste und 
fehlende Zeichen...)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren