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

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Letzte Themen

  • •Keine Beiträge vorhanden•

Site-Statistic

  • 7507 private projects
  • 385 public projects
  • 16433719 lines compiled
  • 58483 builds
NIBO @ facebook YouTube Twitter
•Willkommen•, •Gast•
•Benutzername:• •Passwort:• •Angemeldet bleiben:•
  • •Seite:•
  • 1

•THEMA:• Verwendung von clock.h

Verwendung von clock.h •9 •Jahre• 6 •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 •9 •Jahre• 6 •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 •9 •Jahre• 6 •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.189 Sekunden•

Werbung

Protected by R Antispam