uC springt aus Schleife

OP #1413573
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?
1
#include<ioaduc7026.h>
2

3
void waittime(int);
4
long value;
5

6
int main(void)        
7
{
8

9

10

11
GP3CON = 0x12222211;    //  PWM auf P3.0 and P3.1 ermöglichen
12
                       
13
PWMCON = 0x0001;       // PWM generell ermöglichen
14
PWMDAT0 = 20000;      // Periodendauer
15
PWMDAT1 = 0x00;        // Totzeit 0 (muss gesetzt werden)
16
PWMDAT2 = 0x00;        // Pulsbreite
17
PWMCFG = 0x00;      // Chop auf 0
18
PWMEN = 0x000;      // 0 bis 50% auf port P3.0 ausgeben 
19
PWMCH0 = 6500;      // 100% high
20
while (1)
21
  {
22
       
23

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

Lukas
Gast #1413997
1
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...
Gast #1414071
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
#1414232
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....
#1414649
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.