Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*******************************************************************************
- Projektname: RC5.cprj
- Benötigte Libs´s: IntFunc_lib.cc
- Routinen: lcd.cc, PRO-BOT128C_Lib_V2.cc
- Autor: Niels
- Datum: 29. 05. 2013
- Funktion: RC5-Fernsteuerungen testen
- Ausgabe von Kanalnummer und Befehl
- *******************************************************************************/
- // Compiler-Direktiven
- #define RC5DATAMASK 0b0000000000111111 // 6 Bit Datenwert-Maske
- #define RC5CHANNELMASK 0b0000000000011111 // 5 Bit Kanalinfo-Maske
- void main(void)
- {
- PRO_BOT128_INIT(); //PRO-BOT128 Setup
- LCD_Init();
- RC5_Init(26);
- AbsDelay(100); //Wait 0,1 Sec.
- LCD_ClearLCD();
- Akkuspg(); // Ausgabe der Akkuspannung
- LCD_ClearLCD();
- int RC5Value; // Hier speichern wir die Roh-Empfangsdaten der FB
- int RC5Data; // Hier nur die letzten 6 Bit von RC5Value speichern
- int RC5Channel; // Kanal der Fernbedienung (5 Bit)
- LCD_Locate(1, 1);
- LCD_WriteText("Kanal Befehl ");
- while(true)
- {
- // Endlos-Schleife
- do
- {
- RC5Value=RC5_Read();
- // RC5-Tastencode ermitteln und ausgeben
- LCD_Locate(1, 1);
- RC5Data=RC5Value;
- RC5Data=RC5Data&RC5DATAMASK; // Maskierung der letzten 6 Bit
- // Befehlsausgabe
- LCD_Locate(1, 15);
- LCD_WriteWord(RC5Data, 2); // Zur Ausgabe ganzzahliger Werte auf LCD
- RC5Channel=RC5Value; // Gleichheitszeichen ist eine Zuweisung
- RC5Channel=RC5Channel>>6; // Rechtsverschiebung / >> Verschiebeoperator
- RC5Channel= RC5Channel&RC5CHANNELMASK; // Maskierung
- // Kanalausgabe
- LCD_Locate(1, 6);
- LCD_WriteWord(RC5Channel, 2);
- }
- while(1);
- }
- }
- // Wir lagern Programmcode in eine (Unter-)Funktion aus
- int Akkuspg(void)
- {
- LCD_ClearLCD();
- //LCD auf Zeile 1 Position 1 setzen:
- LCD_Locate(1, 1);
- LCD_WriteText("Akkuspannung:"); //Begruessung
- LCD_Locate(2, 1);
- float Akkuspannung;
- Akkuspannung=AKKU_SPG();
- LCD_WriteFloat(Akkuspannung, 6);
- AbsDelay(2000); //Wait 2 Sec.
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement