Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Speicherbaustein Kategorie: Programmierung (von Lars - 14.02.2006 10:42)
Als Antwort auf Speicherbaustein von Ulli K. - 12.02.2006 19:04
Ich nutze:
C-Control II Unit, C-Control II Station, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0
> /*Hallo C-Control II Gemeinde,
>
> /*Mit eeprom.readint(3,1) laest sich der abgespeicherte Wert nicht
> auslesen; hwcom.print (s) zeigt null an.
> Wie kann ich ueberpruefen ob der Speicherbaustein ok ist?
> Ist  die Programmierung richtig?
>
> Speicherbaustein: 24C512
> EEPROM Modul vom 2 Febr. 2004
> C-Control II 2 Wochen alt dh.mit CC2 V3.0 vom 03.01.2004 Betriebssystem)
> Starterboard von CC-Tools*/
> ******************************************************************************************
> int i,v,z;
> string s;
>
> thread main{
> hwcom.init();
> eeprom.writeint(3,1,3);
>
> sleep 500;
>
> s = "Speicherwert =";
> hwcom.print (s);
> hwcom.ret();
>
> wait hwcom.ready ();
>
> i = eeprom.readint (3,1);
> sleep 500;
>
> str.putint (s,i);
> hwcom.print (s);//null wird angezeigt.
> hwcom.ret();
> wait hwcom.ready ();}
>
> Danke für die Hilfe. .
>
> Ulli K.

Hi Ulli,

also an der Programmierung selbst ist alles richtig, auÃ?er dass nicht ersichtlich ist, ob und
welche Bautrate du einstellst.Und wenn die Adresspinspins des EEPROM
korrekt mit dessen Betriebsspannung verbunden ist, müsste die Verkabelung auch stimmen. Jedoch
muss ich sagen, hatte ich das gleich Problem auch ein paar mal am Anfang und habe nicht weiter
nachgefragt. Um auszuprobieren, ob der Speicherbaustein ok ist, habe ich den Wert damals in
2 einzelne Bytes aufgeteilt und dann gespeichert. AnschlieÃ?end habe ich diese wieder rausgelesen
und zusammen gefügt. {Wenn einer von den Experten das liest, bitte nicht gleich sauer werden}.
Damit du jetzt nicht schnaufst, habe ich dir das mal aufbereitet für dein Programm:

int i;
byte a,b;
string s;

thread main
{
  hwcom.init();
 
  i=3;
  a = ( ( i & 0xFF00) shr 8);
  b = (   i & 0x00FF);

  eeprom.writbyte(3,1,a);
  eeprom.writbyte(3,2,b);

  s = "Speicherwert =";
  hwcom.print (s); hwcom.ret();
  wait hwcom.ready ();

  a = eeprom.readbyte (3,1);
  b = eeprom.readbyte (3,2);

  i = i or (a shl 8);
  i = i or b;
  sleep 500;

  str.putint (s,i);
  hwcom.print (s);//null wird angezeigt.
  hwcom.ret();
  wait hwcom.ready ();
}

Sollte es immer noch nicht funktionieren, bin ich entweder blind, was dein Programm angeht
oder mit dem EEPROM bzw der verkabelung stimmt etwas nicht.

mfg Lars


    Antwort schreiben


Antworten: