Ungleichmäßige Blinkfrequenz

Gast #4456537
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
}

Antwort schreiben

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.

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.