RoboterCC - Robotic Code Compiler
Forum Robot Kits NIBObee Verwendung von clock.h

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Banner

Letzte Themen

  • Keine Beiträge vorhanden

Site-Statistic

  • 7432 private projects
  • 378 public projects
  • 16179195 lines compiled
  • 58194 builds
NIBO @ facebook YouTube Twitter
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Verwendung von clock.h

Verwendung von clock.h 8 Jahre 3 Monate her #3432

  • Erdnik
  • Erdniks Avatar
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 2
Hallo zusammen,

ich versuche aktuell ein kleines Programm für meinen NIBObee zu schreiben, in dem ich die Zeit seit Systemstart benötige.

Im Internet habe ich dazu relativ wenig gefunden. Ich habe aus unterschiedlichen Quellen mir folgenden Quellcode gebastelt:
...
 
/* Includes für den Zugriff auf die NIBObee Bibliothek */
#include <nibobee/iodefs.h>   // digitale Ein-/Ausgänge allgemein
#include <nibobee/analog.h>   // analoge Eingänge
#include <nibobee/base.h>     // Basisfunktionen / Initialisierung
#include <nibobee/clock.h>	  // Zeitfunktionen
#include <nibobee/led.h>      // Ein-/Ausschalten der LEDs
#include <nibobee/motpwm.h>   // Ansteuerung der Motoren
#include <nibobee/odometry.h> // Auswertung der Drehimpulse der Räder
#include <nibobee/sens.h>     // Fühler
#include <nibobee/line.h>     // Liniensensoren
#include <nibobee/delay.h>	  // Warte-Funktion
#include <nibobee/motpid.h>   // PID Regler für Motoren
#include <stdlib.h>			  // Standardbibliothek C (Math)

...
 
uint32_t timeSinceStart() {
  	// Berechne Zeit seit Einschalten in ms
	return (clock_sec*1000)+clock_ms;
}
 
...
 
int main() {
 
  	// Initialisierung aller Con-Ports
 	enable_interrupts();
  	clock_inc_irq(0,0);  // interne Uhr starten
  	activate_output_group(IO_LEDS);  // LED bits als Output
 	sens_init();
        analog_init();    
	motpwm_init();
	line_init();
        led_init();
  	odometry_init();
        sei();
 
...
 
        while(1) {
 
             ...timeSinceStart()... // hier greife ich auf die Funktion zurück
        }
}

Bei mir sind aber sowohl clock_sec, clock_ms und dann natürlich auch mein Funktionswert immer 0. Könnt ihr mir weiterhelfen, woran das liegen könnte?

Referenzen:
1) www.roboter.cc/index.php?option=com_nicaiwci&view=sourcefile&projectid=1753&fileid=2397&Itemid=41
2) doku.nibo-roboter.de/niborobolib_301/nibobee/clock_8h.html#a4d4947d87b9d195438433c948c0ab510
3) stackoverflow.com/questions/29943266/get-clock-sec-from-nibobee-library-clock-h

Grüße Niklas
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Verwendung von clock.h 8 Jahre 3 Monate her #3433

  • workwind
  • workwinds Avatar
  • OFFLINE
  • Administrator
  • Beiträge: 573
Hallo Erdnik,

in deiner setup-Funktion musst Du den PID Regler initialisieren, damit der Interrupt die Zeit zählen kann...
motpid_init ()

-workwind-
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Verwendung von clock.h 8 Jahre 3 Monate her #3434

  • Erdnik
  • Erdniks Avatar
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 2
Super danke :) Genau das war es. Habe es in den anderen Codes übersehen.

Grüße Niklas
Der Administrator hat öffentliche Schreibrechte deaktiviert.
  • Seite:
  • 1
Ladezeit der Seite: 0.098 Sekunden

Werbung