Startschwierigkeiten mit C-Compiler

OP #3472519
Hi
Ich habe ich habe versucht einen PIC mal mit C zu Programmieren. Dabei 
trat allerdings das Problem auf, dass ein Eingang immer "0" ausgibt.

Die Hardware, die ich benutze ist die Versuchsplatine aus dem Buch 
"Mikrocontroller für Einsteiger", auf der ein PIC 16F876A ist. Das ganze 
möchte ich nun mit C programmieren, da es für mich wesentlich einfacher 
ist als Assembler neu zu lernen.
Als Compiler nutze ich den von HI-TECH (lite Version).

Hier der Code ...
1
#include  <htc.h>
2
#include  <pic16f876a.h>
3

4
#ifndef _XTAL_FREQ
5
 #define _XTAL_FREQ 4000000
6
#endif
7

8
__CONFIG(CP_OFF & WDTE_OFF & BOREN_OFF & PWRTE_OFF & FOSC_XT & WRT_OFF & LVP_OFF & DEBUG_OFF & CPD_OFF);
9

10
#define T1 PORTAbits.RA4
11
#define T2 PORTAbits.RA5
12
#define T3 PORTCbits.RC0
13
#define T4 PORTCbits.RC1
14

15
#define LED1 PORTAbits.RA2
16
#define LED2 PORTAbits.RA3
17
#define LED3 PORTBbits.RB4
18
#define LED4 PORTBbits.RB5
19

20
main(void){
21
  PORTA = 0x00;
22
  PORTB = 0x00;
23
  PORTC = 0x00;  
24

25
  TRISAbits.TRISA4 = 1;
26
  TRISAbits.TRISA5 = 1;
27
  TRISCbits.TRISC0 = 1;
28
  TRISCbits.TRISC1 = 1;
29

30
  TRISAbits.TRISA2 = 0;
31
  TRISAbits.TRISA3 = 0;
32
  TRISBbits.TRISB4 = 0;
33
  TRISBbits.TRISB5 = 0;
34

35
  while(1){
36
    
37
    LED1 = !T1;
38
    LED2 = !T2;
39
    LED3 = !T3;
40
    LED4 = !T4;
41
  }
42
}

Das Programm, welches eigentlich nur Eingänge auf Ausgänge schaltet 
funktioniert soweit, außer das die LED2 dauerhaft leuchtet und somit T2 
vermutlich immer 0 ausgibt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.