- 3D-Druck Einstieg und Tipps         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Serielle schittstelle auslesen

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    34
    Beiträge
    607
    Anzeige

    LiFePo4 Akku selber bauen - Video
    am port stehen keine daten zu verfügung, das is ja das prob...., hab mit ner funktion, die mir n kumpel gesagt hat überprüft, wieviel im buffer ist, da war 0 drin =)
    vllt hats dran gelegen, dass ich mit 7 bit sende, ich hab imma auf 8 gestellt.

    naja, hab jez n progg namens SeriKey! geladen, das überträgt den eingang der com-schittstelle direkt in die tastatureingabe, damit bin ich erstmal bedient. wäre trotzdem cool zu erfahren, wieso das andere denn nicht geht.
    damit werd ich erstma mein jetztiges projekt (is für die schule) zuende machen, dann hab ich zeit mich mit dem anderen zu befassen

    übrigens.....thx für die posts, hätte nicht gedacht, dass das so schnell geht

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    na wenn du mit 7 bit sendest kommt am anderen ende wo 8bit erwartet werden auch nur mist raus!

    probiere es einfach mal mit 8 datenbit und 2 stoppbits, das ist auch recht stabil so zumal die baudrate des senders mit dem empfänger stimmen muss .... baue einfach mal ne echoschleife!!! also tx und rx verbinden und dann die tastatur auslesen, senden und anshliessend empfangen

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    34
    Beiträge
    607
    ok, werd ich machen (halte einfach n weißes blatt pappier vor den empfäger und sender, so hab ichs auch anfangs richtig eingestellt (mit hyperterminal)
    mach das morgen, bin grad nicht zu Hause

  4. #14
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    ahhhh ein asuuurrrroooo, gott ich bin blind ..... da brauchst 9600BAUD 8 datenbits 1(EIN, nicht ZWEI) stoppbits .... klar das du mit dem tranceiver nix empfangen konntest ^^

    der weisse blatttest (schreibt man das mit 3 t ???) ist perfekt, mal eine endlossschleife

    Code:
    char letzetaste;
    char letzeszeichen;
    while(letztetaste != ESCAPETASTE) {
       letzeszeichen = 0;
       letzeszeichen = DeinSerialport.lesebyte(); // ich weis nicht mehr wie des ging, aber HIER darf das programm NICHT stehenbleiben
       if (letzteszeichen != 0) zeichenausgeben(); 
       if (keypressed()) {
          letztetaste = getch();
          DeinSerialport.schreibebyte(letztetaste);
       }
    }
    
    return 0;
    das ist nur pseudocode

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    34
    Beiträge
    607
    sooo, hab das jez gemacht.....aber befridigend ist das ergebnis immernoch nicht! =)

    das ist mein quellcode: (habe keine endlosschleife gemacht, sondern immer wieder das selbe zeichen gesendet)

    if (serial.Open(1, 2400)){
    int i,j;
    char taste = 'a';

    for(i = 0, j = 0; i < 50; j++, i++) {
    char zeichen = 'z';
    printf("\nnr.: %i", j);
    serial.SendData(&taste, sizeof(taste));
    printf("\ndata waiting: %i\n", serial.ReadDataWaiting());
    serial.ReadData(&zeichen, sizeof(taste));
    printf("zeichen: %c", zeichen);
    printf("\n");
    }
    }
    else
    printf("Failed to open port!");

    hab mit 2400 baud, 8 bit und einem stopbit gesendet (weil mein infrarot-sender so sicher funktioniert, verwende das auch im hyperterminal.)
    und hier ist das merkwürdiger ergebniss:


    nr.: 0
    data waiting: 0
    zeichen: z

    nr.: 1
    data waiting: 0
    zeichen: z

    nr.: 2
    data waiting: 0
    zeichen: z

    nr.: 3
    data waiting: 0
    zeichen: z

    nr.: 4
    data waiting: 0
    zeichen: z

    nr.: 5
    data waiting: 0
    zeichen: z

    nr.: 6
    data waiting: 0
    zeichen: z

    nr.: 7
    data waiting: 0
    zeichen: z

    nr.: 8
    data waiting: 0
    zeichen: z

    nr.: 9
    data waiting: 0
    zeichen: z

    nr.: 10
    data waiting: 0
    zeichen: z

    nr.: 11
    data waiting: 0
    zeichen: z

    nr.: 12
    data waiting: 0
    zeichen: z

    nr.: 13
    data waiting: 0
    zeichen: z

    nr.: 14
    data waiting: 0
    zeichen: z

    nr.: 15
    data waiting: 8
    zeichen:

    nr.: 16
    data waiting: 7
    zeichen: ■

    nr.: 17
    data waiting: 6
    zeichen: о

    nr.: 18
    data waiting: 5
    zeichen: м

    nr.: 19
    data waiting: 4
    zeichen: м

    nr.: 20
    data waiting: 3
    zeichen: м

    nr.: 21
    data waiting: 2
    zeichen: м

    nr.: 22
    data waiting: 1
    zeichen: м

    nr.: 23
    data waiting: 0
    zeichen: z

    nr.: 24
    data waiting: 0
    zeichen: z

    nr.: 25
    data waiting: 8
    zeichen: м

    nr.: 26
    data waiting: 7
    zeichen: м

    nr.: 27
    data waiting: 6
    zeichen: м

    nr.: 28
    data waiting: 5
    zeichen: м

    nr.: 29
    data waiting: 4
    zeichen: м

    nr.: 30
    data waiting: 3
    zeichen: м

    nr.: 31
    data waiting: 2
    zeichen: м

    nr.: 32
    data waiting: 1
    zeichen: м

    nr.: 33
    data waiting: 0
    zeichen: z

    nr.: 34
    data waiting: 0
    zeichen: z

    nr.: 35
    data waiting: 8
    zeichen: м

    nr.: 36
    data waiting: 7
    zeichen: м

    nr.: 37
    data waiting: 6
    zeichen: м

    nr.: 38
    data waiting: 5
    zeichen: м

    nr.: 39
    data waiting: 4
    zeichen: м

    nr.: 40
    data waiting: 3
    zeichen: м

    nr.: 41
    data waiting: 2
    zeichen: м

    nr.: 42
    data waiting: 1
    zeichen: м

    nr.: 43
    data waiting: 0
    zeichen: z

    nr.: 44
    data waiting: 0
    zeichen: z

    nr.: 45
    data waiting: 8
    zeichen: м

    nr.: 46
    data waiting: 7
    zeichen: м

    nr.: 47
    data waiting: 6
    zeichen: м

    nr.: 48
    data waiting: 5
    zeichen: м

    nr.: 49
    data waiting: 4
    zeichen: м

    manchma kam statt dem "m" auch ein "V"
    ich kann mir das ehrlichgesagt nicht erklären....ich hoffe dass da jemand mehr ahnung hat als ich....=)

  6. #16
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    erstens, bitte benutze die CODE tags, also vor dem code [ c o d e ] und dahinter [ / c o d e ] natürlich ohne leerzeichen

    ausserdem hast du immernochnicht die BAUDRATE eingestellt!!!!!


    if (serial.Open(1, 2400)){
    sagt mir 2400 BAUD !!!!

    der asuro sendet aber normalerweise auf 9600BAUD 8 Databit 1 Stoppbit!!!!!

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    34
    Beiträge
    607
    mit 9600 gehts noch schlechter......da kommt noch mehr scheiß raus =)
    müsste mit 2400 am besten gehen (empfange beim hyperterminal mit 2400 und bei diesem prog, dass ich runtergeladen habe auch mit 2400 (allerdings nit 7bit))
    eigentlich wär es ja auch scheißegal, denn ich hab ja ne echo-schleife, bei der ich immer genauso sende, wie ich empfange...
    ps. thx das mit den code-tags, hab das schon gesucht.

  8. #18
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    34
    Beiträge
    607
    es scheint fast schon, als ob es erstmal anlaufen muss, denn nach dem 20. mal sendet er immer konstant (zwar nicht das richtige zeichen, aber konstant!)

    wenn ich ein char array sende und empfange, dann funktioniert es garnicht...... wenn ReadDataWaiting() mehr als 0 anzeigt, dann scheint das array überhaupt keinen inhalt zu haben.

    hab mal wieder versucht mit allen möglichen parametern vom asuro was zu senden und es am pc zu empfangen, hat aber nicht funktioniert, es kam absolut nix an.

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    wie hast du das mit dem echo jetzt gemacht ? wenns weisses blatt iss, klingts nach schlecht eingestelltem empfänger, wenn anders gelöst, bitte beschreiben ^^

  10. #20
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    34
    Beiträge
    607
    weißes blatt. aber eigentlich brauche ich nicht mal eins, der sendet das echo auch ohne blatt bei mir, der sender und empfänger sind ja direkt nebeneinander. der empfänger ist richtig eingestellt, sendet mir beim hyperterminal ja auch richtige zeichen. und dieses programm, das ich runtergeladen habe, um die eingänge vom com-port direkt an die tastatureingabe weiterzuleiten funktioniert ja auch.
    vielleicht hat das mit der parität irgendeine bedeutung beim selbstgeschriebenen programm..............allerdigs kommt da dann wenigstens etwas an, auch wenn nur müll, bei mir kommt ja überhaupt nix an. das ist es, was mich so wundert, denn falsche sendelägen würden zwar die gesendete information verfälschen, aber es würde zumindest irgendetwas ankommen!

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad