mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik uC springt aus Schleife


Autor: Lukas R. (eckoe17)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin grade komplett planlos. Mein ADUC7026 springt aus der Schleife 
aund nimmt wieder den Wert (6500) von vor der Schleife an.
Hat jemand ne Ahnung?
#include<ioaduc7026.h>

void waittime(int);
long value;

int main(void)        
{



GP3CON = 0x12222211;    //  PWM auf P3.0 and P3.1 ermöglichen
                       
PWMCON = 0x0001;       // PWM generell ermöglichen
PWMDAT0 = 20000;      // Periodendauer
PWMDAT1 = 0x00;        // Totzeit 0 (muss gesetzt werden)
PWMDAT2 = 0x00;        // Pulsbreite
PWMCFG = 0x00;      // Chop auf 0
PWMEN = 0x000;      // 0 bis 50% auf port P3.0 ausgeben 
PWMCH0 = 6500;      // 100% high
while (1)
  {
       

  ADCCP = 0;     // select ADC0#
  ADCCON = 0x10A3; // turn on ADC, and start conversation: 
  while (!ADCSTA); // wait for the end
  value = ADCDAT ;
        value = value / 50000;
        PWMCH0 = value;
        } 

Lukas

Autor: Johnny B. (johnnyb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht tritt ein Reset auf oder so?

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ADCCON = 0x10A3; // turn on ADC, and start conversation: 

Vielleicht fehlt ihm der richtige Partner für die Konversation.
Was du meinst, ist die "conversion".
Warum dein Controller sich allerdings "aufhängt", kann ich dir auch 
nicht beantworten.
Liegt vielleicht an der Hardware...

Autor: lukas .r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
reset kanns ncht sein ich renn mit nem jtag
hardware auch nicht weil es n kommerzielles evalboard ist. leider kann 
ich
selbst mit dem jtag nicht rasfinden wann er rausspringt.

noch vorschläge?

lukas

Autor: pp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Watchdog aktiv?

Autor: lukas .r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nope
lukas

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mein ADUC7026 springt aus der Schleife
> aund nimmt wieder den Wert (6500) von vor der Schleife an.
Wann tut er das? Wie siehst du das?

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
solche seltsamen, unerklärlichen Phänomene riechen immer irgendwie nach 
Stack-Problemen. Schalte deinen Debugger doch mal in den Modus, wo du 
nicht den C-Code, sondern den Assemblercode deines Programmes siehst, 
und da Instruction für Instruction durch steppen kannst. Beobachte dabei 
den Stackpointer....

Autor: Lukas R. (eckoe17)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lothar: Nach etwa 5-20 sek. Der Motor geht auf vollgas.

@Tobias: Dauert vielleicht n bisschen, bis ich 5 bis 20 sek bei 40MhZ 
durchgesteppt hab. :(


Noch Ideen?

Lukas

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lukas R. schrieb:

> Noch Ideen?

Setzte einen Breakpoint auf den Anfang von main().
Wenn er anschlägt, hat sich der µC aus irgendeinem Grund resettet.

Du hast Motoren erwähnt. Ist es sicher, dass die nichts Schlimmes auf 
der Versorgungsspannung anstellen?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.