Instead of using an interrupt to read a serial message, a thread is created within the interrupt that reads serial data coming in. Original project for LPC1768.
main.cpp
- Committer:
- Ritzerk
- Date:
- 2019-03-05
- Revision:
- 0:f28b116a2be0
- Child:
- 1:5438da9e6654
File content as of revision 0:f28b116a2be0:
#include "mbed.h" InterruptIn button(p14); Thread ISRthread(osPriorityAboveNormal); osThreadId ISRthreadId; DigitalOut myled(LED1); DigitalOut myled3(LED3); void newInput(); void ISR_thread(); int main() { ISRthread.start(callback(ISR_thread)); button.rise(&newInput); //interrupt to catch input while(1) { myled = 1; osDelay(1000); myled = 0; osDelay(1000); } } void newInput() { osSignalSet(ISRthreadId,0x01); } void ISR_thread() { ISRthreadId = osThreadGetId(); for(;;) { osSignalWait(0x01, osWaitForever); myled3 = 1; osDelay(500); myled3 = 0; } }