Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: C12832_lcd mbed
Fork of Praktikum_2_4_ADC by
Diff: main.cpp
- Revision:
- 0:8a8d53cb84e8
- Child:
- 1:660fec290722
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Mar 07 10:20:07 2018 +0000 @@ -0,0 +1,50 @@ +// Example to set up an interrupt based on the LPC TIMER0 match register, sford + +#include "mbed.h" + +DigitalOut myled(LED1); +DigitalOut irqled(LED2); + +void myhandler() { //Interrupt Service Routine, wird durch den Timer0_Vektor gestartet + // do something! + irqled = !irqled; + + // clear the TIMER0 interrupt + LPC_TIM0->IR = 1; //Reset Timer0 Interrupt Flag +} + +int main() { + // power up TIMER0 (PCONP[1]) + LPC_SC->PCONP |= 1 << 1; + + // reset and set TIMER0 to timer mode + LPC_TIM0->TCR = 0x2; + LPC_TIM0->CTCR = 0x0; + + // set no prescaler + LPC_TIM0->PR = 0; + + // calculate period (1 interrupt every second) + uint32_t period = SystemCoreClock / 20; //Period ist die Periodenlänge /4 ursprünlgich für eine Sekunde + //SystemCoreClock ist eine Konstante mit dem Wert + + // set match register and enable interrupt + LPC_TIM0->MR0 = period; //Vergleichswert des Timers wird gesetzt mit Period + LPC_TIM0->MCR |= 1 << 0; // interrupt on match //Einstellung, dass ein Interrupt ausgelöst wird beim Match + LPC_TIM0->MCR |= 1 << 1; // reset on match //Einstellung, dass der Timerwert auf Null zurückgesetzt wird bei Match + + // enable the vector in the interrupt controller + NVIC_SetVector(TIMER0_IRQn, (uint32_t)&myhandler); //Zuordunung der InterruptServiceRoutine (Handler) zum Vektor von Timer0 + NVIC_EnableIRQ(TIMER0_IRQn); //Timer Interrupt wird enabled + + // start the timer + LPC_TIM0->TCR = 1; //Einstellung, dass der Timer gestartet wird + + // hang around! + while(1) { //while Schleife, in der die erste LED getoggelt wird + myled = 1; + wait(0.2); + myled = 0; + wait(0.2); + } +} \ No newline at end of file