![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Handreichung TI3
main.cpp@0:7bd60de6afc1, 2020-04-28 (annotated)
- Committer:
- jack1930
- Date:
- Tue Apr 28 15:49:58 2020 +0000
- Revision:
- 0:7bd60de6afc1
V1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jack1930 | 0:7bd60de6afc1 | 1 | /* mbed Microcontroller Library |
jack1930 | 0:7bd60de6afc1 | 2 | * Copyright (c) 2019 ARM Limited |
jack1930 | 0:7bd60de6afc1 | 3 | * SPDX-License-Identifier: Apache-2.0 |
jack1930 | 0:7bd60de6afc1 | 4 | */ |
jack1930 | 0:7bd60de6afc1 | 5 | |
jack1930 | 0:7bd60de6afc1 | 6 | #include "mbed.h" |
jack1930 | 0:7bd60de6afc1 | 7 | #include "platform/mbed_thread.h" |
jack1930 | 0:7bd60de6afc1 | 8 | |
jack1930 | 0:7bd60de6afc1 | 9 | |
jack1930 | 0:7bd60de6afc1 | 10 | // Blinking rate in milliseconds |
jack1930 | 0:7bd60de6afc1 | 11 | #define BLINKING_RATE_MS 500 |
jack1930 | 0:7bd60de6afc1 | 12 | |
jack1930 | 0:7bd60de6afc1 | 13 | bool angefordert=false; |
jack1930 | 0:7bd60de6afc1 | 14 | |
jack1930 | 0:7bd60de6afc1 | 15 | char phasen[10]= { |
jack1930 | 0:7bd60de6afc1 | 16 | 0b01001001, //0 rot - rot - rot |
jack1930 | 0:7bd60de6afc1 | 17 | 0b01001101, //1 rot - rot - rotgelb |
jack1930 | 0:7bd60de6afc1 | 18 | 0b01001010, //2 rot - rot - grün |
jack1930 | 0:7bd60de6afc1 | 19 | 0b01001100, //3 rot - rot - gelb |
jack1930 | 0:7bd60de6afc1 | 20 | 0b01001001, //4 rot - rot - rot |
jack1930 | 0:7bd60de6afc1 | 21 | 0b01101001, //5 rot - rotgelb - rot |
jack1930 | 0:7bd60de6afc1 | 22 | 0b01010001, //6 rot - grün - rot |
jack1930 | 0:7bd60de6afc1 | 23 | 0b01100001, //7 rot - gleb - rot |
jack1930 | 0:7bd60de6afc1 | 24 | 0b01001001, //8 rot - rot - rot |
jack1930 | 0:7bd60de6afc1 | 25 | 0b10001001}; //9 grün - rot - rot |
jack1930 | 0:7bd60de6afc1 | 26 | |
jack1930 | 0:7bd60de6afc1 | 27 | void anfordern(void) |
jack1930 | 0:7bd60de6afc1 | 28 | { |
jack1930 | 0:7bd60de6afc1 | 29 | angefordert=true; |
jack1930 | 0:7bd60de6afc1 | 30 | } |
jack1930 | 0:7bd60de6afc1 | 31 | |
jack1930 | 0:7bd60de6afc1 | 32 | int main() |
jack1930 | 0:7bd60de6afc1 | 33 | { |
jack1930 | 0:7bd60de6afc1 | 34 | // Initialise the digital pin LED1 as an output |
jack1930 | 0:7bd60de6afc1 | 35 | int z=0; |
jack1930 | 0:7bd60de6afc1 | 36 | InterruptIn anforderung(PA_1); |
jack1930 | 0:7bd60de6afc1 | 37 | anforderung.mode(PullDown); |
jack1930 | 0:7bd60de6afc1 | 38 | PortOut ampel(PortC,0xFF); |
jack1930 | 0:7bd60de6afc1 | 39 | anforderung.rise(&anfordern); |
jack1930 | 0:7bd60de6afc1 | 40 | |
jack1930 | 0:7bd60de6afc1 | 41 | while (true) { |
jack1930 | 0:7bd60de6afc1 | 42 | ampel=phasen[z]; |
jack1930 | 0:7bd60de6afc1 | 43 | thread_sleep_for(BLINKING_RATE_MS); |
jack1930 | 0:7bd60de6afc1 | 44 | if ((z==0||z==4||z==8)&&angefordert) |
jack1930 | 0:7bd60de6afc1 | 45 | { |
jack1930 | 0:7bd60de6afc1 | 46 | ampel=phasen[9]; |
jack1930 | 0:7bd60de6afc1 | 47 | thread_sleep_for(BLINKING_RATE_MS); |
jack1930 | 0:7bd60de6afc1 | 48 | angefordert=false; |
jack1930 | 0:7bd60de6afc1 | 49 | } |
jack1930 | 0:7bd60de6afc1 | 50 | z++; |
jack1930 | 0:7bd60de6afc1 | 51 | if (z>8) z=0; |
jack1930 | 0:7bd60de6afc1 | 52 | |
jack1930 | 0:7bd60de6afc1 | 53 | } |
jack1930 | 0:7bd60de6afc1 | 54 | } |