Forum: Mikrocontroller und Digitale Elektronik I2C Bus,absoluter Anfänger,C18,


von Stefan (Gast)


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);
}

}

von Stefan (Gast)


Lesenswert?

weiß echt niemand was?is doch bestimmt ni viel verkehrt.bitte

von Punktrichter (Gast)


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...)

von Stefan (Gast)


Lesenswert?

jo.sorry.ist totale gewohnheit mit der shifttatse.trotz allem verstehe 
ich den befehl halt nicht.will nur was aus dem eeprom auslesen und zur 
kontrolle auf usart ausgeben

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.