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

Fehler im OS?? Kategorie: Progr. Assembler, TaskingTools, OS (von Michael - 28.01.2005 21:51)
Ich nutze:
C-Control II Unit, CC2-Application-Board, CC2-ReglerBoard, OSOPT V3.0
Hallo Leute,

bei mir bleibt absolut reproduzierbar die CC2 stehen (OS=V3.0) wenn ich eine float variable auf eine
int variable zuweise. Allerdings "spinnt" die str.putintf funktion vorher
schon rum.

Es geht hier nur um simple Operationen
=
shl
math.log
math.floor

Hier mein Code

float b;
int b_i;
string HWCOM_Text;
  hwcom.init();
  hwcom.setspeed(hwcom.SPEED_57600);
  // clear output screen
  hwcom.clr();

  loop
  {
  a = 0xFF;
      wait hwcom.ready();
      HWCOM_Text = "a1 = ";
      str.putintf(HWCOM_Text,a,-4);
      hwcom.print(HWCOM_Text);
      wait hwcom.ready();
      hwcom.ret();
  a = a or (0xFF shl 8);
      wait hwcom.ready();
      HWCOM_Text = "a2 = ";
      str.putintf(HWCOM_Text,a,-4);
      hwcom.print(HWCOM_Text);
      wait hwcom.ready();
      hwcom.ret();
  b = math.log(a);
      wait hwcom.ready();
      HWCOM_Text = "OK 1";
      hwcom.print(HWCOM_Text);
      wait hwcom.ready();
      hwcom.ret();
  b_i = math.floor(b + 0.5);
      wait hwcom.ready();
      HWCOM_Text = "OK 2";
      hwcom.print(HWCOM_Text);
      wait hwcom.ready();
      hwcom.ret();
  sleep 1000;
  }
}


Und hier die Ausgabe:

a1=0x00FF
<b>a2=0xFFFFFF</b>
OK 1
<b>?????</b>


Tja und nun  ist SchluÃ? OK 2 kommt nicht mehr

Die CC2 steht und wartet auf einen Reset.

1. Warum kommt eine 6-stellige HEX-Zahl wenn nur eine 4-Stellige kommen darf?
2. Warum bleibt das Programm hängen?
3. Das alles passiert nur, wenn ich alle bits der integerzahl auf 1 setze. Also mit 7FFF geht alles.

Hat einer eine Idee.

Danke Michael


    Antwort schreiben


Antworten:

Kein Fehler. Ungültiger Parameter ! (von André H. - 30.01.2005 23:52)