Forum: Mikrocontroller und Digitale Elektronik RAMPE auf LPC1768 CortexM3 programmieren


von DIRK (Gast)


Lesenswert?

Hallo zusammen !
ich programmiere zur Zeit auf einem Microkontroller LPC1768 eine rampe,
die aus drei Sequenzen besteht. Aber irgendwie beim Compilieren habe ich
immer( wenn ich auf dem Oscilloscope anschaue) die drei Sequenzen(
Spannungsverlauf) die gleichzeitig auftreten. Und nicht nacheinander,
wie das sein sollte. Ich habe mehr mals versucht, den Timer richtig
einszustellen. klapp aber leider nicht !
könnte einer von euch mir helfen oder eine Idee geben, wie ich das
machen konnte, wäre's Lieb !

Danke steven

von Heinz (Gast)


Lesenswert?

> ...  irgendwie beim Compilieren ...

Das hat der Kapitän auch gesagt, aber niemand glaubte ihm. Dir wird's 
nicht besser gehen.

von Benjamin (Gast)


Lesenswert?

Wie wäre es mal mit Quellcode zeigen?

von slow (Gast)


Lesenswert?

Sehr vage Beschreibung gibt eine sehr allgemeine Lösung:

Jede Deiner Sequenzen braucht ein Ende-Kriterium, dann darf erst die 
nächste gestartet werden. Timer sind nicht die beste Wahl.

von DIRK (Gast)


Lesenswert?

HALLO SlOW!
Ja ! denke ich auch aber soll das nicht getakt( Timer) werden.
könntest du mir ein Beispiel geben? bitte !

oder schreiben wie du das programmieren würdest.
ich meine die erst, die zweite Sequenz ... usW.
 da habe ich erst den code für die  Steigung der ersten Sequenz der 
Rampe geschrieben.

 for (i=0;i>10;i++)               /*sequenz 1*/
   {
     tab1[i]= (i*0.08)+2 ;
   }                           /* speichert die 10 punkte(werte)*/

 for (i=0;i>15;i++)             /*sequenz 2*/
   {
     tab1[i]= Cst ;            /*konstante wert*/
   }                           /* speichert die 10 punkte(werte)*/

  for (i=10;i > 0;--)            /*sequenz 3*/

   {
     tab1[i]= (i*0.048)+2 ;      /*fallende Flanke*/
   }

von DIRK (Gast)


Lesenswert?

Benjamin schrieb:
> Wie wäre es mal mit Quellcode zeigen?

Hallo Benjamin!

könntest du mir ein Beispiel geben? bitte !

oder schreiben wie du das programmieren würdest.
ich meine die erst, die zweite Sequenz ... usW.
 da habe ich erst den code für die  Steigung der ersten Sequenz der 
Rampe geschrieben.

 for (i=0;i>10;i++)               /*sequenz 1*/
   {
     tab1[i]= (i*0.08)+2 ;
   }                           /* speichert die 10 punkte(werte)*/

 for (i=0;i>15;i++)             /*sequenz 2*/
   {
     tab1[i]= Cst ;            /*konstante wert*/
   }                           /* speichert die 10 punkte(werte)*/

  for (i=10;i > 0;--)            /*sequenz 3*/

   {
     tab1[i]= (i*0.048)+2 ;      /*fallende Flanke*/
   }

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.