uC springt aus Schleife

OP #1413573
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?
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
Lesenswert?

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
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
#1414232
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....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren