RoboterCC - Robotic Code Compiler
Forum Robot Kits NIBO 2 NIBO 2 Projekte Programm von Roman

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Banner

Letzte Themen

Site-Statistic

  • 7416 private projects
  • 378 public projects
  • 16172649 lines compiled
  • 58122 builds
NIBO @ facebook YouTube Twitter
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1
  • 2

THEMA: Programm von Roman

Aw: Programm von Roman 12 Jahre 5 Monate her #679

  • Romka1
  • Romka1s Avatar
Danke Egon. also ich ändere gleich, werde gleich (#include <nibo/pwm.h> noch dazu schreiben. aber wie gesagt, ich habe das Programm erst mit AVR studio geschrieben und nicht online compiler benutzt, und bei mir funtioniert alles einwandfrei ohne warnungen.
Letzte Änderung: 12 Jahre 5 Monate her von Romka1.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Programm von Roman 12 Jahre 5 Monate her #680

  • Egon
  • Egons Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 316
Hallo Romka1

Hm...komisch, denn OHNE #include<pwm.h> MUSS der Compiler eine warning bringen (so in der Art "implizite declaration of pwm_init()", denn im Programm wird ja pwm_init() aufgerufen; könnte evtl mit Deinem AVR-Studio und dessen Einstellungen zusammenhängen.

Jedenfalls MUSS für jede verwendete Fkt, die extern deklariert wurde, ein Header-file mit inkludiert werden (prinzipiell gesprochen) - ist auch in jedem C-Kurs nachzulesen ;)

Jedenfalls weiter so! Je mehr sich hier engagieren, desto lebendiger wird das Forum!

Egon
lokalisieren, eliminieren, Vollzug melden
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Programm von Roman 12 Jahre 5 Monate her #681

  • Romka1
  • Romka1s Avatar
Danke noch mal für Tipp Egon. Ich habe jetzt korrigiert und die pwm.h inkludiert. Ich weiß auch nicht warum beim mir AVR keine Meldung oder Warnung agezeigt. Ich werde auch mehrere Projekte auf dieser Webseite anlegen. Ich werde mich freuen auf eure Bewertungen und was ich besser machen kann oder korrigieren muss. Als nächstes heute Abend lege ich nächstes Projekt an. Die Projektname wird "Scheinwerfer Test". Also die User können dann anschauen die niedrigste und maximale helligkeit des Scheiwerfers von 0 bis 1024 und danach von 1024 auf 0.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Programm von Roman 12 Jahre 5 Monate her #682

  • elektrolutz
  • elektrolutzs Avatar
  • OFFLINE
  • Gold Boarder
  • NiboBee+BGX1+Tunig-Kit, Nibo2+GFX+NDS3+UCOM-IR2
  • Beiträge: 401
Hallo zusammen,

leider ist die Zusammenstellung der Lib mehr als unübersichtlich, aber dieses wird nicht zum ersten mal festgestellt.
Den Sinn der Zerstückelung verstehe zumindest ich nicht wirklich.
Da "pwm.h" auch schon von der Lib selbst benötigt wird, erfolgt das Includen der "pwm.h" schon vor dem Anwenderprogramm. Doppeltes Includen funktioniert zwar und benötigt zusätzlichen (mittlerweile nicht mehr kostbaren) Speicherplatz, macht aber keinen brauchbaren Sinn.

"pwm.h" wird aufgerufen in der Datei der Lib "...\src\nibo\leds.c"

So weit mir bekannt, sind die ausgegebenen "warnings" der Compiler nicht genormt und können somit von Compiler zu Compiler abweichen. Warum sich der "roboter.cc"-Compiler hier selbst anmeckert, das sollte der Erzeuger bitte einmal selbst begründen. (Wenn geht OHNE Schweigen!)

(Ich hatte schon mal darum gebeten, eine "Include-Hirachie" aufzuzeigen. Die Abhängigkeiten sind leider ohne Anleitung nur schwer zu verstehen und für Programmieranfänger eine fast unüberwindbare Hürde. Teilweise muss auch die Reihenfolge der Includes berücksichtigt werden, um ein fehlerloses Compilieren zu schaffen.)

@Egon
Würdest Du mal bitte erklären, wie man ein C-Programm so schreiben kann, dass es allen möglichen und erdenklichen Compilern und deren Konfigurationen gerecht wird.
Die in der Nibo2-Anleitung beschriebene Verzeichnisstruktur für die Konfigurationseintragungen ist nur eine Empfehlung, sie kann bei jedem Anwender individuell anders sein.

Grundsätzlich hast Du ja recht, wenn man einen jungfräulichen Proz programmieren will, nur durch die hier schon aufgebrachte Firmware sieht alles aber etwas anders aus.
Gruß aus Werl elektrolutz
Theorie ist, wenn man weiß, wie alles funktioniert. -- Praxis ist, wenn alles klappt und keiner weiß warum!
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Programm von Roman 12 Jahre 5 Monate her #684

  • Egon
  • Egons Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 316
Hallo elektrolutz

1.) Zum Thema "pwm.h" => check mal das Programm "led3.c" bezgl Aufruf "pwm.h"

2.) "Die in der Nibo2-Anleitung beschriebene Verzeichnisstruktur für die Konfigurationseintragungen ist nur eine Empfehlung, sie kann bei jedem Anwender individuell anders sein." - dieser Satz ist imho nicht korrekt, denn wenn sie anders ist, bekommt der User Probleme.

3.) Zum C-Programm schreiben, damit es möglichst (!) plattformunabhängig ist - "google ist dein freund"

Egon

edit - habe eben das Programm von Romka1 OHNE #include <pwm.h> im AVR Studio 4 compiliert => natürlich Warnung "implicit declaration of pwm_init()" => die kommt dann, wenn man bei den Custom Compilation Options den Parameter -Wall angegeben hat - und das sollte man schon machen... lieber Freund elektrolutz, das hat mit dem led.c nix zu tun!!!!

"Grundsätzlich hast Du ja recht, wenn man einen jungfräulichen Proz programmieren will, nur durch die hier schon aufgebrachte Firmware sieht alles aber etwas anders aus. " - was soll mir der Satz sagen?
lokalisieren, eliminieren, Vollzug melden
Letzte Änderung: 12 Jahre 5 Monate her von Egon.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Programm von Roman 12 Jahre 5 Monate her #685

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

In C ist es möglich Funktionen aufzurufen ohne sie vorher deklariert zu haben - das ist natürlich nicht empfehlenswert :sick: ! Aus diesem Grund kann pwm_init() aufgerufen werden ohne die Datei "pwm.h" einzubinden. Der GCC Compiler stellt Optionen (z.Bsp. -Wall) zur Verfügung, damit der Compiler möglichst an allen unschönen Stellen meckert... B)
Somit kommt es je nach Einstellungen zu einer Warnung, oder eben nicht!
Der Administrator hat öffentliche Schreibrechte deaktiviert.
  • Seite:
  • 1
  • 2
Ladezeit der Seite: 0.059 Sekunden

Werbung