- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: Probleme bei Programmierung

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    30.11.2009
    Ort
    Gütersloh
    Beiträge
    46
    Anzeige

    Praxistest und DIY Projekte
    Hallo Hero_123,

    vielen Dank für die Code Schnipsel. Momentan kann ich damit noch nicht sehr viel anfangen.
    Ich denke bzw. hoffe das es für meine Problemlösung etwas einfacher gehen sollte/dürfte
    Werde mich die Tage nochmal damit beschäftigen.

    sourcecode

  2. #12
    Hero_123
    Gast
    Hallo sourcecode

    Bei Unklarheiten/Fragen/Problemen => melden!

    mfg

    Hero_123

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    30.11.2009
    Ort
    Gütersloh
    Beiträge
    46
    Hallo Hero_123,

    mein Problem besteht natürlich nach wie vor.
    Ich bin auch noch nicht wirklich firm in der C-Programmierung, weswegen wir
    wohl dann auch ab und an mal Mittel und Wege zur Lösung fehlen.
    Vielleicht ist meine _Denke_ in diesem Fall auch falsch :-/
    Deine Lösung kommt mir im Moment noch etwas kryptisch vor weswegen
    ich mich da noch nicht ran traue und ich der Meinung bin (ohne es wirklich
    zu wissen) das es für meine Problematik eine _einfacherer_ Lösung geben
    müßte / sollte / könnte
    Nur mal so für mich zum Verständnis. Alle Werte (aller Sensoren z.B) werden
    in einer Variable sicherlich _binär_ gespeichert, oder ?
    Wie kriege ich die Werte dann in Hex umgewandelt. Nicht als Ausgabe mit
    _printf_ sondern als Hex-Wert gespeichert in einer Variable. Diese Hex-Werte
    wollte ich dann in einen Array schreiben, den ich dann später wieder auslesen
    kann.

    sourcecode

  4. #14
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Genau genommen werden die Werte nicht in einer Variable gespeichert. Die Variable steht nur für eine stelle im Speicher wo die Werte binär gespeichert werden
    Du musst die Werte nicht in Hex umwandeln. Einfach die Binärwerte anzeigen lassen. Terminals zeigen die Werte dann automatisch in Hexwerten an.
    Du musst nur eine Umwandlung vornehmen wenn du den Wert in Dezimal angezeigt haben willst.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #15
    Hero_123
    Gast
    Hallo sourcecode

    Ich versteh' nicht ganz, was Du da machen willst - weshalb willst Du den Wert dist_val1 = nds3_get_dist() in einen Hex-Wert umwandeln und dann in ein Array speichern? Gemäß NiboLib ist "nds3_get_dist()" die aktuell gemessene Distanz oder meinst Du uint8_t nds3_distances [181] - willst Du diese Werte in einem Array speichern und dann übertragen?
    Du kannst doch problemlos den Wert dist_val1 in einen String umwandeln (muss ein String sein zum Senden) und dieses zyklisch senden...

    Wie schon Kampi sagt - man kann in einem Terminalprogramm (z.B. hTerm http://www.der-hammer.info/terminal/, verwende ich, läuft auch problemlos unter WIN 7) sich die per XBEE übertragenen Werte als ASCII, HEX, BIN oder DEC anzeigen lassen. Es geht nur darum - wenn Du die Werte übertragen willst auf den PC - da mußte jeden Wert umwandeln in einen String und den Zeichenweise übertragen - dazu gibt's bei meinen Codeschnipseln die Funktionen:

    - umwandeln eines int8_t wertes in einen String und diesen speichern in einem Char_buffer
    - Funktion, um einen String auf Terminal auszugeben => diese Fkt ruft Funktion auf, um Char auf Terminal auszugeben
    - Funktion, um Char auf Terminalauszugeben

    Das Terminalprogramm macht dann aus den empfangenen Werten wieder eine "brauchbare" Anzeige - ich lass mir z.B die Motordrehzahlen, Abstand, Bodensensorenwerte, Motorströme auch per XBEE an den PC senden.

    mfg

    Hero_123

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    30.11.2009
    Ort
    Gütersloh
    Beiträge
    46
    Hallo Kampi / Hero_123,

    vielen Dank für Eure Antworten.
    Langsam geht mir ein Lichtlein an

    Du hast das wohl richtig erkannt Hero_123. Ich möchte die ermittelten Werte aus uint8_t nds3_distance in ein Array schreiben und dann übertragen.
    Ob die Werte dann wirklich in einen Array geschrieben werden müssen ist mir auch nicht ganz klar. Zumindest habe ich das bis jetzt so gelöst. Mit den
    Distanzwerten habe ich das auch schon versucht, aber es kamen irgendwie nie die zeichen am Terminal an, die ankommen sollten.
    Ich habe das bis jetzt so gemacht, das ich von vornherein nur Hex-Werte übertragen habe.

    xbee_tx_buf[0] = 0x43;
    xbee_tx_buf[1] = 0x45;

    Da ich selbiges mit den ermittelten Werten von uint8_t nds3_distances gemacht habe und nie das
    angekommen ist, was ankommen sollte, habe ich gedacht, ich müsse diese Werte erst in Hex
    umwandeln. Leider kann ich meinen Code nicht posten, da ich momentan nicht daheim bin.
    Morgen kann ich mal ein paar Schnipsel posten, wenn das vielleicht weiter hilft.
    Ich versuche aber mal auf Grund der Antworten weiter zu kommen.

    Vielen Dank.

    sourcecode

  7. #17
    Hero_123
    Gast
    Hallo sourcecode

    Du nutzt offensichtlich die XBEE-Funktionen, die in der Lib sind - fkt die denn überhaupt korrekt? Ich hab' da auch mal mit rumprobiert, das hat aber bei mir ÜBERHAUPT nicht so geklappt, wie ich es wollte, habe mir deshalb selbst die Sende- / Empfangsroutinen für den UART1 geschrieben und verwende diese (d.h ich sende/empfange über UART1).

    Jedenfalls - wenn Du uint8_t nds3_distances [181] übertragen willst, mußte Dir ein Array definieren, das diese Werte aufnehmen kann, ich denke aber nicht, dass Du alle Werte AUF EINMAL per XBEE senden kannst - irgendwo hab ich mal gelesen, dass man max 70 bytes/sendzyklus übertragen kann...

    mfg

    Hero_123
    Geändert von Hero_123 (29.12.2011 um 21:22 Uhr)

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    30.11.2009
    Ort
    Gütersloh
    Beiträge
    46
    Hallo Hero_123,

    ich benutze die XBEE Funftionen der lib. Wenn die natürlich nicht richtig funktionieren, könnte
    das vielleicht auch mein Problem sein. Wie gesagt. Wenn ich konstante Werte / Zeichen
    die ich vorher selber in Hex definiert habe übertrage funkioniert das ganz gut soweit.

    Die ermittelten Werte des Distanzscanners habe ich versucht so zu übertragen:

    xbee_tx_buf[0] = dist_val1;
    xbee_tx_buf[1] = dist_val2;
    xbee_tx_buf[2] = dist_val3;

    Es kommt zwar dann auch was am Terminalprogramm an, aber nicht das, was ich
    eigentlich erwarte. Wenn natürlich vielleicht an den Funktionen der lib etwas
    nicht korrekt ist, kann man da als Laie natürlich auch mal anfangen zu verzweifeln

    Gruß
    sourcecode

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Probleme mit der Asuro Programmierung...:(
    Von RobinHood im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 0
    Letzter Beitrag: 10.04.2010, 15:30
  2. Probleme bei Programmierung des Atmege32
    Von Daniel1979 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 01.04.2008, 15:29
  3. Probleme bei AVR Butterfly-Programmierung
    Von Youngtimer im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 21.11.2007, 18:01
  4. tiny13 Probleme mit Programmierung
    Von gulliver im Forum Assembler-Programmierung
    Antworten: 13
    Letzter Beitrag: 07.10.2007, 22:19
  5. Probleme mit IR/RC5 Programmierung
    Von Lutz im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 8
    Letzter Beitrag: 09.03.2005, 17:31

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test