Beispielprogramm für den PIC 12F629

Gast #775509
Lesenswert?
• ▲
▼
Ich hab ein PICkit2, ein 12F629 und den PICC C-Compiler.

Nun will ich mal ein Beispielprogramm zum laufen bringen. Zum Beispiel 
eine LED blinken lassen.

1. Hat Jemand son ein einfaches Demo-Programm?

2. Bei der Header-Datei des PICC C-Compiler steht:

#ifndef  HTC_H
#warning Header file pic12f6x.h included directly. Use #include <htc.h> 
instead.
#endif

Was bedeutet das???

3. Hab dann in meinem Programm pic12f6x.h eingebunden, beim Compilieren 
kam der Fehler:

Warning [162] C:\Programme\HI-TECH 
Software\PICC\LITE\9.60\include\pic12f6x.h; 3.80 #warning: Header file 
pic12f6x.h included directly. Use #include <htc.h> instead.

Wieso htc.h????

Sorry, mache das erste mal mit pics rum..

danke für eure hilfe
Gast #775515
Lesenswert?
• ▲
▼
Hallo Picler,

also

1. Solche Beispiele findest du entweder bei examples in deinem 
Compiler-Verzeichnis oder auf der Microchip-Homepage
2. =3. Das bedeutet, das du die Header-Datei direkt eingebunden hast und 
du sollst das nicht machen, sondern htc.h einbinden. Die htc.h sucht 
sich die richtige Header-Datei aus der Bauteil-Definition deines 
Projekts. Mit welchem Compiler arbeitest du eigentlich ? Mach einfach 
mal die htc.h auf, dann siehst du lauter abfragen zu den Prozessor-typen 
und dann eine zugehörigen include ...

gruß
Gast #775566
Lesenswert?
• ▲
▼
Compilieren geht.
Will man ein Schalter einlesen und an einem Pin ausgeben. Läuft aber 
leider nicht, was mach ich falsch?

#include <pic12f6x.h>

main()
{
//Init
static bit bitvar;

TRIS3 = 1; //GPIO3 Input
TRIS1 = 0;


    while(1 == 1)               //  Loop Forever
    {
    bitvar = GPIO3;
    GPIO1 = bitvar;
    }
}
Gast #775580
Lesenswert?
• ▲
▼
Danke, geht aber noch nicht.

Muss ich  icht auch noch ANSEL Null setzen?

Wenn ich

ANSEL = 0x00;

mache, kommt die Fehlermeldung

undefined identifier "ANSEL"


Wieso das? ANSEL ist doch im header-file definiert.
#775628
Lesenswert?
• ▲
▼
Picler wrote:
> undefined identifier "ANSEL"
> Wieso das? ANSEL ist doch im header-file definiert.

Der PIC12F629 hat gar kein ANSEL, weil er keinen A/D-Wandler hat.


Kannst Du die LED wenigstens statisch einschalten?
z.B.
1
#include <htc.h>
2

3
main()
4
{
5
//Init
6
static bit bitvar;
7

8
TRIS3 = 1; //GPIO3 Input
9
TRIS1 = 0;
10

11

12
    while(1)               //  Loop Forever
13
    {
14
    GPIO1 = 1;             // oder =0, je nachdem wie die LED angeschlossen ist
15
    }
16
}
Gast #775865
Lesenswert?
• ▲
▼
Sagen wir ich  hab einen Timer 0.

Wird der Interrupt von Timer 0 ausgelöst mach ich folgendes:

Timer mit X laden
(jedes zweite mal mit 1000-X)
Ausgang Invertieren
Timer Starten


Der Timer hätte dann eine Periode von 1000 und eine Pulsweite von X.

Geht das so?

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.