Pic18f1320 fährt nicht hoch

Gast #1638667
Lesenswert?

hier ist das restliches programm:
#define HIGH_uint(x) (unsigned char)  ((x)>>8)  //liefert High-Teil
#define LOW_uint(x)  (unsigned char)  (x)       //liefert Low-Teil
#pragma code
volatile long int p1=31622;
volatile long int p;
static long double r=5E-10;
volatile long int l;
volatile long int k,j,i,s;
short int f;
char z;
unsigned long int ps=500;

void hiserv(void);             // Prototyp Serviceprogramm
#pragma code einsprung=0x08    // Einsprungadresse
void einsprung (void)          // Hilfsfunktion für Sprung
{
 _asm GOTO hiserv _endasm      // Assembler: Sprung nach Servicefunktion
}
#pragma code             // System Codebereich
#pragma interrupt hiserv       // Kennwort interrupt veranlasst
void hiserv(void)              // Rücksprung aus Interrupt!!!
{
 p=p1*(1-r*p1*p1);
 p1=(long int)p;
 l=(long int)p1;
 k=(long int)(l/65535);
 s=(long int)(l%65535);
 if(z==0){LATB=0x05;}
 if(z==1){LATB=0x06;}
 if(z==2){LATB=0x0A;}
 if(z==3){LATB=0x09;}
 f=65535-s;
 if(z<4){z=z+1;}
 if(z==4){z=0;}
 TMR0H=HIGH_uint(f);
 TMR0L=LOW_uint(f);
 INTCONbits.TMR0IF = 0;      // Timer0 Anzeigeflag löschen
}
#pragma code                     // System Codebereich
void main(void)
{
 TRISB=0b11110000;
 ADCON1 = 0x7f;
 LATB=0x00;
 f=65535;
 TMR0H=HIGH_uint(f);
 TMR0L=LOW_uint(f);
 RCONbits.IPEN = 0;            // Interruptsteuerung nicht priorisiert
 INTCONbits.TMR0IF = 0;        // Timer0 Anzeigeflag löschen
 INTCONbits.TMR0IE = 1;        // Timer0 Interrupt freigeben
 INTCONbits.GIE = 1;           // Interrupts global freigeben

 while(1){
 T0CON = 0b10000010;        // Timer0 ein, 16bit,intern,x,Vorteiler,1:8
 while(INTCONbits.TMR0IF!=1);
  }
}
Gast #1638697
Lesenswert?

na ja die portb ausgänge sind ganze zeit auf low, ich habe das 
compileirte programm mit pic18 simulator ide laufen lassen. in der 
simulation kann man sehen, dass die interrups werden ausgelöst und portb 
tut nacheinander die bitkombinationen ausgeben. sobald ich den pic in 
schaltung stecke und mit strom versorge passiert gar nichts, hmm...
Gast #1639093
Lesenswert?

Hi

woran siehst du, dass der PIC nicht hochfährt ?

Ich wiederhole nochmal meine Frage. Funktioniert dein Prog nicht, oder 
läuft der PIC nicht ? Wenn der Quarz tut, und der PIC nicht im reset 
hängt kann er eignetlich nur noch laufen.

In solchen Situationen bau ich einen "Toggle" ein. ich mach ne Schleife 
ins Prog, die permanent und ausschliesslich abgearbeite wird und in der 
der irgend ein Ausgang abwechselnd high und low geschaltet wird. Das 
kontroll ich mit dem Oszi. Wenn das tut, kanns nur noch andeinem prog 
liegen...

Gerhard

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