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

FOR Schleife beschleunigen? Kategorie: Programmierung (von Detlef Bäthke - 13.04.2007 11:01)
Ich nutze:
C164CI-ControllerBoard, CC2-Application-Board, OSOPT V3.1
for i=startaddr ... startaddr+len-1
  {
    if (i % 32)==0 and i
    {
      // Code entfernt
    }
    eeout(8,data[i]);  // Assembler Funktion
  }

Zwischen den 8 Clock-Pulsen liegt immer eine Pause von ca. 700us.
Es gibt keine weiteren Threads.
Was ist für diese Zeit verantwortlich?
Wie kann man diese Pause verringern?

Als �bergangslösung habe ich die Schleifendurchläufe reduziert.

i = startaddr;
  while (i <= (endaddr - 31))
  {
      // Code enfernt
      eeoutarray (data[i], 32); // Assembler Funktion
      if (i < 0x7FE0)
      {
        i = i + 32;
      }
      else
      {
       i = 0x7FFF;
      }
  }


Bei den Eeprom 95256 (32768 Bytes) verkürzt sich dadurch
die Programmierzeit von 40s auf 9s.

GruÃ? Detlef


    Antwort schreiben


Antworten:

Re: FOR Schleife beschleunigen? (von André H. - 17.04.2007 1:00)
    Re: FOR Schleife beschleunigen? (von Detlef Bäthke - 20.04.2007 9:28)