Hallo
Ich versuche nun schon ne ganze Weile eine LED zum blinken zu bekommen
xD
Nun zum eigentlichen Problem, ich möchte auf meinem uC Board eine LED
blinken lassen, die heartBeat LED, diese dient einfach dazu, dass man
sieht, er läuft.
Dafür möchte ich den integrierten 48bit RI counter verwenden. Dieser
soll mir einen Interrupt auslösen und in der ISR die LED toggeln.
Nun habe ich aber das Problem, dass der uC gar nicht in die ISR
hineingeht. Ich finde aber keinen Fehler in meinem Code^^
Hier der Code meiner main.c, die LED wird hier durch die ISR nur
ausgeschaltet, um zu sehen, ob die überhaupt einmal ausgeführt wird, was
nicht der Fall ist.
Hat schon jm. erfahrungen mit diesem uC und kann mir da helfen?
DANKE
Gruss Nouda
Ich verwende diese Board:
http://www.embeddedartists.com/products/lpcxpresso/lpc1347_xpr.php
Mit
1 | HALConfigApp::s_heartBeat.setGPIO(GPIO::GPIO_STATE::OFF);
|
wird die LED ausgeschaltet und
mit
1 | HALConfigApp::s_heartBeat.setGPIO(GPIO::GPIO_STATE::ON);
|
eingeschaltet.
1 | #include "LPC13Uxx.h"
|
2 |
|
3 | #include <stdio.h>
|
4 | #include <cr_section_macros.h>
|
5 | #include "HardwareSetup.h"
|
6 | #include "GPIO.h"
|
7 | #include "SystemClock.h"
|
8 | #include "HALConfigApp.h"
|
9 |
|
10 | int LED;
|
11 |
|
12 | void OSTIMER_IRQHandler(void){
|
13 |
|
14 | // Clear interrupt
|
15 | LPC_RITIMER->CTRL |= (1<< 0); // Write RITINT to clear
|
16 |
|
17 | HALConfigApp::s_heartBeat.setGPIO(GPIO::GPIO_STATE::OFF);
|
18 |
|
19 | }
|
20 |
|
21 | void RIT_IRQHandler(void) {
|
22 | // Clear interrupt
|
23 | LPC_RITIMER->CTRL |= (1<< 0); // Write RITINT to clear
|
24 |
|
25 | HALConfigApp::s_heartBeat.setGPIO(GPIO::GPIO_STATE::OFF);
|
26 | }
|
27 |
|
28 | int main(void) {
|
29 | SystemCoreClockUpdate();
|
30 |
|
31 | __enable_irq();
|
32 | __enable_fault_irq();
|
33 |
|
34 | //Stop RI Timer
|
35 | LPC_RITIMER->CTRL = 0;
|
36 |
|
37 | //Init RI Timer
|
38 | LPC_RITIMER->COMPVAL = 6000000; //setting compare Value to 6kk -> 2Hz
|
39 | LPC_RITIMER->COMPVAL_H = 0;
|
40 |
|
41 | //Reset RI Timer
|
42 | LPC_RITIMER->COUNTER = 0;
|
43 | LPC_RITIMER->COUNTER_H = 0;
|
44 |
|
45 | //set RI Timer to clear on match, halt on debug, RITEN -> start
|
46 | LPC_RITIMER->CTRL = (1<< 1) | (1<< 2) | (1<< 3);
|
47 |
|
48 | //Enable RIT interrupt
|
49 | NVIC_EnableIRQ(RIT_IRQn);
|
50 |
|
51 |
|
52 | HALConfigApp::s_heartBeat.setGPIO(GPIO::GPIO_STATE::ON);
|
53 | //LED = 1;
|
54 |
|
55 | while(1){
|
56 |
|
57 | }
|
58 |
|
59 | return 0 ;
|
60 | }
|