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
main.cpp
- Committer:
- franke
- Date:
- 2018-03-07
- Revision:
- 0:8a8d53cb84e8
- Child:
- 1:660fec290722
File content as of revision 0:8a8d53cb84e8:
// 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); } }