Gast
#2419242
Hallo, ich bin ein absoluter Neuling auf dem Gebiet der PIC-Programmierung. Mit C habe ich schon kleine Erfahrungen. Ich möchte einen PIC 18F2550 mit C programmieren und habe mir einen kleine Testplatine aufgebaut. Ich habe es geschafft mit MPLAB einen C-Code zu schrieben, der Ausgänge gezielt ansteuert (8 Dioden an Port B) An RA0 ist soll ein Eingang definiert werden. Was nicht funktioniert ist die Deklarierung der Eingänge. Kann mir da jemand helfen? Habe gefühlt schon das halbe Internet gelesen. Ich hänge mal mein kleines Testprogramm hier an. Vielen Dank für eure Hilfe. //Includes #include <p18f2550.h> #include "delays.h" //Config #pragma config PLLDIV = 5 // (20 MHz input) #pragma config PWRT = ON #pragma config BOR = OFF #pragma config WDT = OFF #pragma config LVP = OFF //defines #define LED1 LATBbits.LATB0 #define LED2 LATBbits.LATB1 #define LED3 LATBbits.LATB2 #define LED4 LATBbits.LATB3 #define LED5 LATBbits.LATB4 #define LED6 LATBbits.LATB5 #define LED7 LATBbits.LATB6 #define LED8 LATBbits.LATB7 #define EIN LATAbits.LATA0 //Declaration #pragma code void main (void) { int i=100; int j=0; TRISA=1; //PORTA - Eingang??? TRISB=0; //PORTB - Ausgang PORTB=0; //Ausgänge ausschalten // zur orientierung, ob sich das Programm geändert hat und ob überhaupt etwas läuft LED1=0; LED2=0; LED3=0; LED4=0; LED5=0; LED6=0; LED7=0; LED8=0; while(1) { LED1 = 1; LED2 = 0; Delay10KTCYx(i); //warten LED1 = 0; LED2 = 1; Delay10KTCYx(i); //warten if (EIN == 1) // schnelle Blinken wenn Schalter betätigt { LED3=1; i=100; LED4=0; } else { i=1000; LED4=1; LED3=0; } if (EIN == 0) // LED5 ist aus, wenn Schalter gedrückt { LED5=1; LED6=0; } else { LED6=1; LED5=0; } } LED7=1; }