Forum: Mikrocontroller und Digitale Elektronik einfaches PIC programm


von alphi h. (sada)


Lesenswert?

Ich programmiere schon seit längerer Zeit mit den uC herum. Nun habe ich 
mir die neue Microchip IDE heruntergeladen mit den neuen XC8 compiler.
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <xc.h>
4
#include <htc.h>
5
#include <pic.h>
6
7
// CONFIG
8
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSC oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
9
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
10
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
11
#pragma config MCLRE = ON       // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is MCLR)
12
#pragma config BOREN = ON       // Brown-out Detect Enable bit (BOD enabled)
13
#pragma config LVP = ON         // Low-Voltage Programming Enable bit (RB4/PGM pin has PGM function, low-voltage programming enabled)
14
#pragma config CPD = OFF        // Data EE Memory Code Protection bit (Data memory code protection off)
15
#pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)
16
17
#define _XTAL_FREQ 4000000
18
19
#define led RB3
20
21
void main(void) {
22
23
    TRISA = 0x00; PORTA = 0;
24
    TRISB = 0x00; PORTB = 0;
25
26
    led = 0;
27
    __delay_ms(800);
28
    led=1;
29
    __delay_ms(800);
30
    
31
}

der Kompiler gibt mir keinen Fehler aber so kann ich dem uC spannung 
geben und es passiert gar nichts. Aber wenn ich zuerst led =1; 
__delay_ms(800); led=0; __delay_ms(800); schreibe dan schaltet sich die 
LED ein aber nie wieder aus. was ist falsch an meinen Überlegungen.

von Nobby Nops (Gast)


Lesenswert?

1. Da fehlt ne endlos schleife....

2. Bei PIC schreibt man die Ausgangswerte in das Latch Register..
also LATB.BIT3=0; (ob BIT3 richtig ist weiß ich gerade nciht...)

3. Wo wird denn deine Delay Funktion angegeben... muss man da nciht die 
delay.h oder so einbinden damit das so geht??

von Master S. (snowman)


Lesenswert?

ich glaube, da happert's noch an ganz anderen stellen, oder wird es. 
mach doch mal ein tutorial durch. das ist viel effizienter als hier ein 
problem nach dem anderen posten zu müssen - sowohl für dich als auch die 
comunity ;-)
http://pic-projekte.de/wiki/index.php?title=PIC_C_Tutorial

von alphi h. (sada)


Lesenswert?

danke es funktioniert. ICSP hatte einen Wackel.

von alphi h. (sada)


Lesenswert?

Aber hey SNOWMAN wo haperts den noch so? ich bin lerndurstig?

von Master S. (snowman)


Lesenswert?

kann ich nicht so sagen, ist mehr so ein gefühl resp. was ich immer (bei 
anderen) sehe. dass keine endlosschleife drin ist, die fehlenden 
*.h-datei-einbindungen und rein optisch, wie die paar wenigen zeilen 
geschrieben sind, lassen mich ahnen, dass du blutjunger anfänger ist 
(ist nicht schlimm, jeder fängt so an, und selbst ich muss noch viel 
lernen). deshalb mein tip, erstmal ein tutorial durchmachen, damit du 
die zukünftigen, groben fehler schon erst gar nicht machst :-)

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.