Jörg Sturm
/
Motorsteuerung
Version 1 mit Interruptverriegeling
main.cpp
- Committer:
- JoergSturm
- Date:
- 2020-12-17
- Revision:
- 0:5e36fcac4547
File content as of revision 0:5e36fcac4547:
/* mbed Microcontroller Library * Copyright (c) 2019 ARM Limited * SPDX-License-Identifier: Apache-2.0 */ #include "mbed.h" #include "platform/mbed_thread.h" InterruptIn links(PA_1); InterruptIn rechts(PA_6); InterruptIn stop(PA_10); DigitalIn s(PB_0); PortOut Motor(PortC,0b11); #define Rechts 0b10 #define Links 0b01 #define Aus 0b00 void linksISR() { Motor=Links; rechts.disable_irq(); } void rechtsISR() { Motor=Rechts; links.disable_irq(); } void stopISR() { Motor=Aus; rechts.enable_irq(); links.enable_irq(); } int main() { Motor=Aus; links.mode(PullDown); rechts.mode(PullDown); stop.mode(PullDown); s.mode(PullDown); links.fall(&linksISR); rechts.fall(&rechtsISR); stop.fall(&stopISR); links.enable_irq(); rechts.enable_irq(); stop.enable_irq(); __enable_irq(); while (true) { if(s==1) { Motor=Aus; __disable_irq(); } else { __enable_irq(); } } }