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.
Revision 0:060d22d109e9, committed 2020-11-03
- Comitter:
- prof_al
- Date:
- Tue Nov 03 15:34:04 2020 +0000
- Commit message:
- Version 1.0
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cdef.h Tue Nov 03 15:34:04 2020 +0000 @@ -0,0 +1,78 @@ +/******************************************************************** + * + * Name: cdef.h + * Beschreibung: grundlegende Typdefinitionen + * Autor: + * Erstellung: 23.10.2012 + * + * Revisionsliste + * Datum | Autor | Änderung + * ------------+---------------+-------------------------- + * 23.10.2012 | Altenburg | Ersterstellung + * ------------+---------------+-------------------------- + * + ********************************************************************/ +#ifndef CDEF_H +#define CDEF_H + +/**************************************************************************/ +/* Definitions */ +/**************************************************************************/ +typedef unsigned char byte; /* vorzeichenlose 8-Bit-Zahl */ +typedef unsigned short word; /* vorzeichenlose 16-Bit-Zahl */ +typedef signed char int8; /* vorzeichenbehaftete 8-Bit-Zahl */ +typedef signed short int16; /* vorzeichenbehaftete 16-Bit-Zahl */ +//typedef byte bool; /* True/False Aussage */ +typedef unsigned long dword; /* Long-Zahl */ +typedef signed long int32; + + +#define True 1 +#define False 0 +#define true 1 +#define false 0 +#define On 1 +#define Off 0 +#define Yes 1 +#define No 0 + +#define Bit0 0x01 /* Bit-Definitionen */ +#define Bit1 0x02 +#define Bit2 0x04 +#define Bit3 0x08 +#define Bit4 0x10 +#define Bit5 0x20 +#define Bit6 0x40 +#define Bit7 0x80 +#define Bit8 (unsigned long)(1 << 8) /* Bit-Definitionen */ +#define Bit9 (unsigned long)(1 << 9) +#define Bit10 (1 << 10) +#define Bit11 (unsigned long)(1 << 11) +#define Bit12 (1 << 12) +#define Bit13 (unsigned long)(1 << 13) +#define Bit14 (1 << 14) +#define Bit15 (unsigned long)(1 << 15) +#define Bit16 (unsigned long)(1 << 16) /* Bit-Definitionen */ +#define Bit17 (unsigned long)(1 << 17) +#define Bit18 (unsigned long)(1 << 18) +#define Bit19 (unsigned long)(1 << 19) +#define Bit20 (unsigned long)(1 << 20) +#define Bit21 (unsigned long)(1 << 21) +#define Bit22 (unsigned long)(1 << 22) +#define Bit23 (unsigned long)(1 << 23) +#define Bit24 (unsigned long)(1 << 24) /* Bit-Definitionen */ +#define Bit25 (unsigned long)(1 << 25) +#define Bit26 (unsigned long)(1 << 26) +#define Bit27 (unsigned long)(1 << 27) +#define Bit28 (unsigned long)(1 << 28) +#define Bit29 (unsigned long)(1 << 29) +#define Bit30 (unsigned long)(1 << 30) +#define Bit31 (unsigned long)(1 << 31) + +#define nDirectTFT + +//void vDontCheat( void ); + +#endif +/********************************************************************/ +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Nov 03 15:34:04 2020 +0000 @@ -0,0 +1,105 @@ +/*************************************************************************** +* Titel : main.c +* +* Description : Labormodul "HAPO" +* +* Revision List: + -------------------------------------------------------------------------- + Date | Author | Change + -------------------------------------------------------------------------- + 30.10.20 | J. Altenburg | Ersterstellung + -------------------------------------------------------------------------- + | | + ---------------------------------------------------------------------------- +****************************************************************************/ +#include "mbed.h" +#include "cdef.h" + +/* Vereinbarungen zu den Tasteneingängen */ +DigitalIn pinS1(A1); +DigitalIn pinS2(A2); +DigitalIn pinS3(A3); + +/* Ausgänge als "BUS" konfigurieren */ +BusOut bLed(D10, D11, D12, D13); + +/*************************************************************************** +* Defines und Makros * +***************************************************************************/ +#define nPressed 0 /* Tasten sind "low active" */ +#define nPressedLong 4 + +#define n500ms 165000 /* Laufzeitparameter für 500 ms */ + +#define nLed1 0x01 /* Bitposition Led 1 */ +#define nLed2 0x02 +#define nLed3 0x04 +#define nLed4 0x08 + +#define nLedOff (nLed1 | nLed2 | nLed3 | nLed4) + +enum{ /* Bezeichner für Zustandsautomat */ + enBlinkNothing = 0 + , enBlinkLed2Only + , enBlinkAll + , enBlinkWarnOnly + }; + +byte bS3Timer; /* +* Description : Timer für Taste S3 +*/ + +byte bState; /* +* Description : Variable für Zustandsautomat +*/ + +dword dwTimer; /* +* Description : Hilfsvariable zur Erzeugung der 200 ms Programmlaufzeit +*/ + +/* Tastenfunktion Taste S1 */ +void vTasteS1( void ){ + byte i; + i = bLed; /* BUS lesen */ + if(pinS1 == nPressed){ /* Taste gedrückt */ + i &= ~nLed1; /* LED AN */ + } + else{ /* Taste nicht gedrückt */ + i |= nLed1; /* LED AUS */ + } + bLed = i; + } + +/* Tastenfunktion Taste S3 */ +void vTasteS3( void ){ + } + +/* LED2 blinken lassen */ +void vToggleLed2( void ){ + } + +/* Wechelblinker LED2/3 */ +void vToggleLed34( void ){ + } + +/* Zustandsautomat */ +void vStateMachine( void ){ + } + +/*************************************************************************** +* main() +***************************************************************************/ +int main() { + dwTimer = n500ms; + bLed = nLedOff; + bState = enBlinkNothing; + while(1) { /* zeitliche Strukur */ + vTasteS1(); /* bei jedem Durchlauf */ + dwTimer--; + if(dwTimer == 0){ /* alle 500 ms */ + dwTimer = n500ms; + vTasteS3(); + vStateMachine(); + } + } + }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Nov 03 15:34:04 2020 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/users/mbed_official/code/mbed/builds/a330f0fddbec \ No newline at end of file