- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 47

Thema: Probleme mit Go(...)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Zitat Zitat von ehenkes
    @Sternthaler: jetzt hast Du mich verwirrt. Ich habe doch nirgends POWER > 255 verwendet.
    Oh man, ich hätte doch früher nach Hause gehen sollen. Du hast natürlich Recht. Ich habe mich mit dem distance-Parameter vertan. Der ist ja bei dir -500.

    Zitat Zitat von ehenkes
    Welchen Wertebereich hat int? Ist das ein 8bit oder 16bit int.
    Egal auf welchem System: Immer 16 Bit. Ist meines wissens der einzige Datentyp der auf allen Betriebssystemen fest ist. Deshalb gibt es die Typen uint32_t und Co.

    Zitat Zitat von ehenkes
    while (tot_count<enc_count){...}
    Stimmt hier alles? tot_count ist doch int, 8bit oder 16bit? Wie wird hier umgewandelt für den Vergleich?
    Du hast ja schon selber gerechnet und bist auf einen Wert für enc_count mit 258 gekommen. Das liegt also noch locker im int-Bereich (16Bit). C castet ja automatisch. Bei einem Vergleich wird (schon wieder: so weit ich weiss) grundsätzlich auf den größten Datentyp 'hochgecastet'. Somit müßte eigendlich ein 32-Bit-Vergleich entstehen.
    Das jedenfalls macht der Compiler daraus. (4 mal cp, somit 4*8Bit=32Bit)
    Code:
       while (tot_count < enc_count)
        15c8:	e1 14       	cp	r14, r1
        15ca:	f1 04       	cpc	r15, r1
        15cc:	01 05       	cpc	r16, r1
        15ce:	11 05       	cpc	r17, r1
        15d0:	09 f4       	brne	.+2      	; 0x15d4
        15d2:	47 c0       	rjmp	.+142    	; 0x1662
    
    Warum auch immer nur mit r1 verglichen werden muss.
    Zitat Zitat von ehenkes
    Dabei wird das linke Rad zum Zählen verwendet. Hier könnte man doch auch das rechte nehmen?
    Ja, ohne Probleme.

    Zitat Zitat von ehenkes
    Wie kann ich die Odometrie testen, ob Diode/Fototransistor auf beiden Seiten überhaupt richtig arbeiten?
    OK, hier mal ein Datensammler:
    (Tastennummerierung: Von vorne auf den Asur gesehen: Links ist 1 rechts ist 6)
    Bedienung:
    Taste 5 fährt den Asuro ca 10 cm vorwärts (Am besten in der Hand halten und die Räder etwas bremsen. Evl. bei unterschiedlicher Beleuchtung ausprobieren, bis beide Räder halbwegs gleichmäßig drehen.)
    Taste 1 sendet die ermittetelten Messdaten in folgendem Format:
    PID LD RD LH RH
    vergiss PID, LD und RD
    In LH und RH sind die Messungen der Odometriesensoren Links und Rechts.
    In Excel sollten die Daten so halbwegs gleichförmige Sinuskurven erzeugen.
    ACHTUNG:
    Taste 2, 3 und 4 schaltet Parameter um. Zur Not Asuro nochmal aus- und wieder anschalten. (Mit IR Übertragung als 'Menue')
    Taste 6 lässt den Asuro auch fahren. Macht hier aber Blödsinn. Nimm Taste 5.

    @stochri
    Schön dich mal wieder zu treffen.
    Hast du hier ein Erklärung? Vor allem mit den Daten von ehenkes.
    Programmseitig sieht es ja ok aus. (Ja, ja, -500 sind der Weg.)
    Angehängte Dateien Angehängte Dateien
    Lieber Asuro programieren als arbeiten gehen.

Berechtigungen

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

Labornetzteil AliExpress