Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Projekt: A3_SensorAktorModul
- // Datei: A3_SensorAktorModul.cpp
- #define _CRT_SECURE_NO_WARNINGS
- #include <conio.h>
- #include <stdio.h>
- #include <Windows.h>
- #include "SAM.h"
- void main()
- {
- printf("Ansteuerung des Sensor-Aktor-Moduls\n");
- // eigenes Programm zur Ansteuerung des SAM
- OpenSAM(); //Verbindung herstellen
- bool ende = false; // Taste Esc setzt ende auf true
- bool rechts = false;
- int taste = 0;
- short n = 1;
- //do { // Hier kommt das gesamte Programm
- // printf("Ich rechne noch …\n");
- // WriteValue(LED, n);
- //
- // if (_kbhit() != 0) // Test auf Tastendruck
- // {
- // taste = _getch(); // Taste lesen
- // if (taste == 'r') // War es die Esc-Taste?
- // rechts = true;// Ja, dann Ende der while-Schleife
- // if (taste == 'l') // War es die Esc-Taste?
- // rechts = false;
- // }
- // if (rechts == false)
- // n = n >> 1;
- // if (rechts == true)
- // n = n << 1;
- //
- // if (n > 128)
- // n = 1;
- // if (n < 1)
- // n = 128;
- //
- // Sleep(50);
- // if (_kbhit() != 0) // Test auf Tastendruck
- // {
- // taste =_getch(); // Taste lesen
- // if(taste == 0x1B) // War es die Esc-Taste?
- // ende = true;// Ja, dann Ende der while-Schleife
- // }
- // } while(ende == false);
- //2. Aufgabe Schalter einlesen
- short schalter;
- short maske;
- int anzahl;
- do {
- ReadValue(SWITCH, &schalter); //speichert
- maske = 0x80;
- anzahl = 0;
- for (int i = 0; i < 8; i++) {
- // alle 8 Bits(Schalter) einzeln auf 0 oder 1 prüfen
- if ((schalter & maske) != 0) {
- anzahl++;
- printf(" 1");
- }
- else {
- printf(" 0");
- }
- maske = maske >> 1; //alle Bits nacheinander testen das gleiche wie *2 bzw /2
- }
- printf("Anzahl eingeschalteter Schalter: %d", anzahl);
- printf("Schalter: 0x%02X\r", schalter); //%02X schreibe grosse Hexadezimal mit nullen und zwei Stellen
- } while ((schalter&0x80)!=0); //bricht ab wenn Schalter 7ausgeschaltet wird
- //_kbhit() == 0 Zeichen bleibt im Tastaturpuffer, liest nicht ein
- CloseSAM(); // Kommunikation beenden
- _getch();
- //Scanf wartet auf(wartet auf Enter drücken)
- //getch keine Typumwandlung, nur ASCII Zeichen, wartet auch (irgendeine Taste)
- //_kbhit prüft ob Taste gedrückt wurde
- // enter taste '\r' esc tast 0x1B
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement