Projekte
BirgerT
nibo2_Birger_01
nibo2_main_01.h
Projekte
Forum
Doku
Öffentliche Projekte
Startseite
Beispielprogramme
Projekte von anderen
Welcome
Username
Passwort
Eingeloggt bleiben
Zugangsdaten vergessen?
Registrieren
Projektverwaltung
⇨ Please choose! ⇦
——————————————————
✎ Create new project...
★ Browse existing projects...
——————————————————
⚬ MotorTest#1
⚬ C Tutorial 8#1
⚬ NIBO2 C Project#1
⚙ C Tutorial 15#1
⚬ 2010_11_18_el_test001#1
nibo2_Birger_01
blib_utils.c
blib_utils.h
BSD_license.h
nibo2_global.h
nibo2_main.c
nibo2_main_01.h
nibo2_pwm_leds.c
nibo2_pwm_leds.h
nibo2_sensors.c
nibo2_sensors.h
Project details
Compiler settings
Nachrichten
Sie sind nicht eingeloggt.
Neuigkeiten
★
NiboRoboLib 3.6
2017-01-17: Neue Version 3.6
★
NiboRoboLib 3.4.1
2016-04-16: Neue Version 3.4.1
★
Coding Tutorial
2015-11-22: Jetzt auch für den NIBO burger!
Site-Statistic
7426 private projects
385 public projects
16180353 lines compiled
58212 builds
NIBO
@
nibo2_birger_1/nibo2_main_01.h [read only]
////////////////////////////////////////////////////////////////////////// // // NIBO2 MAINxx == Nibo2 austauschbares Anwendungsprogramm: // Wenn sich mit der Zeit in der Main alle möglichen "Tests" // ansammeln, geht leicht die Übersicht verloren. // Damit nicht jedesmal ein neues Projekt angelegt werden muss, // wird die Main() Arduino-like in Inlinefunktionen // Main_Setup und Main_Loop in eine mainxx.h ausgegegliedert, // während die Einbindung der Kernfunktionen (Libs) erhalten bleibt. // // // (c) Birger Töpelmann toepelmann(A)web.de Version 150406a // // Inlinefunktionen main_init und main_loop // Zum Testen verschiedener Funktionen, Programme diese in einer // mainxx.h programmieren, und in main.c die entsprechende // Testdatei mit "#include" einfügen // // ////////////////////////////////////////////////////////////////////////// // // BSD License see "BSD_license.h" // #include "BSD_license.h" // #ifndef _MAIN_H_ #define _MAIN_H_ // Leuchtintensität der LEDs in 0..100% #define LEDS_HELL 10 #define HEAD_HELL 60 ////////////////////////////////////////////////////////////////////////// // // MAIN VARIABLEN // uint8_t lr = 0; // "Statusmerker" Leds rot uint8_t lg = 0; // "Statusmerker" Leds grün uint8_t lt = 0; // ein Led-"Timer" // ..auch Konstanten sind variabel ;-) uint8_t const lpattern[] PROGMEM = { 0b10000000, 0b11000000, 0b01100000, 0b00110000, 0b00011000, 0b00001100, 0b00000100, 0b00001100, 0b00011000, 0b00110000, 0b01100000, 0b11000000, 0b10000000 }; // Anzahl der Einträge im Array lpattern #define LPATTERN (uint8_t)(sizeof(lpattern)/sizeof(lpattern[0])) ////////////////////////////////////////////////////////////////////////// // // MAIN INIT // inline void nibo2_main_init(void) { pwm_lcd(0); pwm_leds(LEDS_HELL); } ////////////////////////////////////////////////////////////////////////// // // MAIN LOOP // inline void nibo2_main_loop(void) { // in jeder vollen Sekunde die Headlights 100ms blitzen lassen uint8_t hl = 0; // pwm.sec_tick siehe "nibo2_main.c" Funktion main_zyklus if (pwm.sec_tick != 0) { hl = HEAD_HELL; } pwm_head(hl); // bei jedem Druck von sw3 eine grüne LED weiterschalten if (SW3_PLAY) { if (lg == 0) { // nur die 6 vorderen LEDS 2..7 lg = 4; } else { lg <<= 1; } LED_GN &= 0x03; LED_GN |= lg; } // die Bitmuster aus lpattern[] an die 6 roten Leds vorne ausgeben LED_RD &= 0x03; LED_RD |= pgm_read_byte(&lpattern[lr]); if (++lr >= LPATTERN) { lr = 0; } // ..und das ist die Funktion aus dem Nibo2 Tutorial K4 // nur ohne delay() ..und beiden "Rücklichtern" // Der "LED-Timer" wird alle 100ms hochgezählt 0..9 switch (lt++) { case 4: // nach 500ms LED_SET(LED_RD,0); LED_CLR(LED_GN,0); LED_SET(LED_GN,1); LED_CLR(LED_RD,1); break; case 9: // nach 1000ms LED_SET(LED_GN,0); LED_CLR(LED_RD,0); LED_SET(LED_RD,1); LED_CLR(LED_GN,1); lt = 0; break; } } ////////////////////////////////////////////////////////////////////////// // // MAIN UPDATE // Diese Funktion wird vor jeden neuen Runde der Mainloop aufgerufen // inline void nibo2_main_update(void) { // Stringausgaben an GLCD fortsetzen //glcd_ansi_strP(0); // Stringausgaben an UARTs fortsetzen //uart0_txd_strP(0); //uart0_txd_str(0); // Sound weiter spielen //audio_play_song_P(0); } #endif // _MAIN_H_
Compiler results:
Werbung
Online
candicenrd43905595115
dexter020993648
hassans97445431854
KylieSat
margartkopsen568949
monteb15207125691437
warrenhinder6456
wilmerbudd450708