Ich muss mich gerade in PIC-Programmierung (in C) reinarbeiten und mein Betreuer ist die Woche nicht da =(
Zuerst habe ich mit:
void blink_D3_LED_ms(int count,int time){
int i = 0;
for(i=0;i<count;i++){
D3_LED_on;
delay_ms(time);
D3_LED_off;
delay_ms(time);
}
LEDs blinken lassen.
Hat einwandfrei geklappt, jetzt will ich das ganze jedoch mit den Timern machen, vorzugsweise Timer 1 und 2.
Das Ziel ist 3 Leds blinken zu lassen:
1. LED im Takt von Timer 1
2. LED im Takt von Timer 2
3. LED mit Hilfe des period register und timer 1 im gleichen Takt wie timer 2
Dass ich mit interrupts arbeiten muss hab ich schon rausbekommen, der jetzige stand ist:
int flag = 0;
int flag2 = 0;
while(true){
ENABLE_INTERRUPTS(INT_TIMER1);
ENABLE_INTERRUPTS(INT_TIMER2);
}
Die Interrupt-Routine sieht so aus:
void isr_timer1(){
if (flag==0){
D3_LED_on;
flag = 1;
}
else {
D3_LED_off;
flag = 0;
}
}
und für timer 2 ebenso.
Funktioniert das so oder muss man das anderst angehen, ich kann es gerade nicht testen, da der Schlüssel für das DEV-board gerade nicht da ist.
Mein größtes Problem jedoch ist wie ich da jetzt noch das Blinken mit Hilfe des period registers mit reinbringe oder geht das gar nicht?
Und wie stellt man am besten die timer ein, mit welchem Takt kann man noch eine blinkende LED erkennen?
Vieln Dank für eure Bemühungen und Hilfe
MFG