- Labornetzteil AliExpress         
Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 48

Thema: Anfänger Frage zum Programmieren

  1. #31
    Neuer Benutzer Öfters hier
    Registriert seit
    22.02.2007
    Ort
    Hannover
    Alter
    47
    Beiträge
    12
    Anzeige

    Powerstation Test
    Schreib das true einfach klein, dann sollte es klappen.

  2. #32
    Benutzer Stammmitglied
    Registriert seit
    11.04.2007
    Ort
    Hildesheim
    Alter
    37
    Beiträge
    41
    ne das Funktioniert nicht

  3. #33
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    in einem unsigned char kann kein "true" oder "false" gespeichert werden. ein unsigned char ist ein einzelner buchstabe oder eine zahl zwischen 0 und 255.

    du kannst also zB 0 und 1 speichern, dann sollte das programm funktionieren. ersetze alle "true" durch 1 und alle "false" durch 0.

    alternative: die variable zum speichern eines wahrheitswertes (die glaube ich GROß geschreiben werden muss) heisst entweder bool oder boolean, bin mir nicht ganz sicher. sollte allerdings mit 0 und 1 einfacher gehen.

    in deinem ersten programm: fährt er mit beiden rädern rückwärts? oder nur mit einem rad?
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  4. #34
    Benutzer Stammmitglied
    Registriert seit
    11.04.2007
    Ort
    Hildesheim
    Alter
    37
    Beiträge
    41
    Also das Programm aus dem Buch funktioniert jetzt danke dafür.
    Beim meinem selbstgeschriebenem Programm bleibt er kurz Stehen und fährt nur mit einem Rad rückwärts !

  5. #35
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    das könnte am fehlerbehafteten pollswitch liegen. tu mal direkt vor PollSwitch() folgendes:

    Sleep(216);

    das hilft evtl etwas.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  6. #36
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Ich glaube, true und false sind einfach nirgends definiert. Ich verwende eine solche Konstruktion:

    char flag;

    flag=(1==1); // flag wird true
    flag=(1==0); // falg wird false
    flag=(!flag); // flag wieder true

    Könnte wohl auch mit

    define true (1==1)
    define false (1==0)

    funktionieren. Muss ich mal testen bei Gelegenheit. Booleans sind bei Abfragen eleganter und fehlerunanfälliger als Bytes, belegen aber vermutlich den selben Speicherplatz.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #37
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    ich meinte das erste programm in seinen post...
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  8. #38
    Benutzer Stammmitglied
    Registriert seit
    11.04.2007
    Ort
    Hildesheim
    Alter
    37
    Beiträge
    41
    Ne das klappt auch nicht, ist das gleiche Problem wie vorher!
    Wobei am Anfang zuckt er kurz nach vorne und dann fährt er automatisch mit dem Linken Motor rückwärts ohne das ich einen taster betätigt habe.
    Und mir ist auf gefallen das er eine Fehlermeldung noch Anzeigt, die scheinbar aber nicht so wichtig scheint da man das Programm trotzdem falshen kann! Hier ist die Meldung:
    Code:
    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
    test.c:28:12: warning: no newline at end of file
    avr-gcc -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o   --output test.elf -Wl,-Map=test.map,--cref -lm
    avr-objcopy -O ihex -R .eeprom test.elf test.hex
    avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \

  9. #39
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    ok... dann such mal im forum nach taster und asuro... da gibts tausende möglichkeiten =)

    leider ist die tasterabfrage sehr haperig, und es werden oft fehleingaben registriert. es gibt viele unterschiedliche lösungsansätze (fehlerkorrigierende programmierung, entfernung des kondensators c7, veränderung der widerstände, anpassung der asuro.c...)
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  10. #40
    Benutzer Stammmitglied
    Registriert seit
    11.04.2007
    Ort
    Hildesheim
    Alter
    37
    Beiträge
    41
    Hallo
    Das es mit den tastern tausend möglichkeiten gibt kann ich verstehen, aber ich habe da nochmal eine Frage und zwaar habe ich mal ein Programm aus dem Asuro Buch übernommen um mal zu testen ob jeder Taster Funktioniert aber wenn ich das Programm zu einer Hex Datei wandeln will zeigt er Fehler an und zwar in diesem Programm hier:
    Code:
    #include "asuro.h"
    #include <stdlib.h>
    #define OFFSET  0x3F
    #define RWD_KEY   ´2´
    #define FWD_KEY   ´8´
    #define LEFT_KEY  ´4´
    #define RIGHT_KEY ´6´
    #define STOP_KEY  ´5´
    volatile unsigned char switchPressed;
    int speedLeft,speedRight;
    SIGNAL (
    
    void PCStop (void)
    {
    	speedRight = speedLeft = 0;
    	FrontLED(OFF);
    	BackLED(OFF,ON);
    }
    int main (void)
    {
    	unsigned char cmd;
    	unsigned char leftDir = FWD rightDir = RWD;              // Zeile 79
    	int();
    	StartSwitch();
    	sei();
    	for(;;) {
    		cmd = 0;
    		SerRead (&cmd,1,0xFFFE);
    		switch (cmd) {
    		case RWD_KEY	: PCRwd(); break;
    		case FWD_KEY	: PCFwd(); break;
    		case LEFT_KEY	: PCLeft(); break;
    		case RIGHT_KEY	: PCRight(); break;
    		case STOP_KEY	: PCStop(); break;
    	}
    	
    	if (speedLeft > 0 && speedLeft < OFFSET)
    		speedLeft +=OFFSET;
    	if (speedLeft < 0 && speedLeft < -OFFSET)
    		speedLeft -=OFFSET;
    	if (speedRight  > 0 &&speedRight < OFFSET)
    		speedRight += OFFSET;
    	if (speedRight  < 0 &&speedRight > -OFFSET)
    		speedRight -= OFFSET;
    	
    	if (switchPressed) {
    		speedLeft	= 0;
    		speedRight	= 0;
    		switchPressed = 0;
    	}
    	leftDir = rightDir = FWD;                                 //Zeile 108
    	if (speedLeft < 0) leftDir = RWD;
    	if (speedRight < 0) rightDir = RWD;
    	
    	if (speedLeft >   255) speedLeft	=  255;
    	if (speedLeft <  -255) speedLeft	= -255;
    	if (speedRight >  255) speedRight	=  255;
    	if (speedRight < -255) speedRight	= -255;
    	
    	MotorDir(leftDir,rightDir);
    	MotorSpeed (abs (speedLeft),abs (speedRight));
    }
    return 0;
    und da zeigt er mir folgende Fehler an:
    Code:
    r-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
    test.c: In function `main':
    test.c:79: error: parse error before "rightDir"
    test.c:80: error: parse error before ')' token
    test.c:87: error: stray '\264' in program
    test.c:87: error: stray '\264' in program
    test.c:88: error: stray '\264' in program
    test.c:88: error: stray '\264' in program
    test.c:89: error: stray '\264' in program
    test.c:89: error: stray '\264' in program
    test.c:89: warning: implicit declaration of function `PCLeft'
    test.c:90: error: stray '\264' in program
    test.c:90: error: stray '\264' in program
    test.c:91: error: stray '\264' in program
    test.c:91: error: stray '\264' in program
    test.c:108: error: `rightDir' undeclared (first use in this function)
    test.c:108: error: (Each undeclared identifier is reported only once
    test.c:108: error: for each function it appears in.)
    test.c:120:10: warning: no newline at end of file
    test.c:120: error: parse error at end of input
    make: *** [test.o] Error 1
    Die meisten Fehler konnte ich mittlerweile auch schon selber korrigieren aber bei denne weiß ich nicht weiter.
    Vielleicht wäre jemand von euch nochmal so nett sich das Programm zu gemühte führt.
    Ich wäre euch sehr dankbar dafür!

    (Und nochmal was anderes gibt es irgendwo eine seite wo man sich besipiel Programme runterladen bzw einsehen kann? weil dann könnte man sich da auch anregungen holen. Ich habe bei Google schon gesucht aber nicht wirklich was gefunden)

    Mfg
    Felix

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress