Forum: Mikrocontroller und Digitale Elektronik Ungleichmäßige Blinkfrequenz


von PIC-Neuling (Gast)


Lesenswert?

Hallo Forum,

ich habe begonnen, mich in die Verwendung von PIC-Mikrocontrollern 
einzuarbeiten. Mein verwendeter Controller ist der PIC16F887. Zum 
Programmieren nutze ich MPLAB X IDE v3.20 unter Linux und zum Flashen 
das PICkit3. Als Taktquelle soll der interne Oszillator dienen. Ich habe 
zum Test ein kleines Programm geschrieben, welches an Port D1 eine LED 
blinkend ansteuern soll. Soweit läuft das Programm, allerdings beobachte 
ich eine Eigenart, welche ich mir nicht erklären kann. Die LED blinkt 2x 
im vorgegebenen Abstand von 500ms, die darauf folgende pause ist aber 
(ca.) 1000 ms lang. Ich kann mir auf dieses Verhalten keinen Reim 
machen.

In etwa so sieht das Blinken der LED aus:

____|''''|_____|''''|__________|''''|_____|''''|__________

Hier der Quellcode:
1
#include <htc.h>
2
#include <pic16f887.h>
3
#pragma config FOSC=INTRC_NOCLKOUT
4
#define   _XTAL_FREQ  4000000
5
#use delay(clock=4000000)
6
7
void main(void) {
8
    
9
    TRISD=0x00;
10
    
11
    do{
12
        
13
    __delay_ms(500);
14
    PORTD = 0b00000010;
15
    __delay_ms(500); 
16
    PORTD = 0b00000000;
17
     
18
    }while(1);
19
   
20
}

von Mario (Gast)


Lesenswert?

Ich hab von PICs keine Ahnung, aber könnte das nicht was mit dem WDT zu 
tun haben?

von PIC-Neuling (Gast)


Lesenswert?

Jaaaaa, das war es. Danke!

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.