- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 3 von 3

Thema: PWM Rechteckbreite über den den Hyperterminal ändern

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied Avatar von KR-500
    Registriert seit
    26.12.2007
    Alter
    30
    Beiträge
    91
    Hi,

    also ich gehe mal davon aus, dass deine Routine zum Empfangen funktioniert. Dann kannst du einfach die ersten vier Bytes von deinem Teststring nehmen ("prb=") und diese dann mit memcmp (http://www.cplusplus.com/reference/c...string/memcmp/) vergleichen. Sollte der String dann übereinstimmen, kannst du mit atoi() oder einer selbst geschriebenen Funktion den String in einen Integer umwandeln und dem Register zuweisen.

    Viele Grüße
    KR-500

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    26.09.2011
    Beiträge
    23
    Zitat Zitat von KR-500 Beitrag anzeigen
    Hi,

    also ich gehe mal davon aus, dass deine Routine zum Empfangen funktioniert. Dann kannst du einfach die ersten vier Bytes von deinem Teststring nehmen ("prb=") und diese dann mit memcmp (http://www.cplusplus.com/reference/c...string/memcmp/) vergleichen. Sollte der String dann übereinstimmen, kannst du mit atoi() oder einer selbst geschriebenen Funktion den String in einen Integer umwandeln und dem Register zuweisen.

    Viele Grüße
    KR-500
    Diesen Vergleich mach ich schon mit der strcmp Funktion das funktioniert auch ganz gut.

    Hab gerade noch ein viel schlimmeres (triviales?) Problem:
    Und zwar hat mein Betreuer eine Subset Funktion gebaut,
    die nach einem Leerzeichen schaut, wenn dieser in dem zu sendendem String vorhanden ist,
    wird dieser String an der Stelle des Leerzeichens getrennt, und der String vor dem Leerzeichen als str_1 ausgegeben,
    der nach dem Leerzeichen als str_2.
    Allerdings funktioniert das alles nicht so richtig, wenn ich das mit dem Terminal überprüfen möchte.

    Hab mal die 2 kritischen Code stellen hier in die code-tags gepackt:
    Code:
    while(1)
    	 {       
    			 
    	      	 if (uart_str_complete == 1)             //wenn der empfangene string komplett ist, dann
                 
    			 {
    			    if (strcmp( uart_str, "Hzgaus" ) == 0  ) //soll empfangene string mit "LED aus" vergliechen werden, wenn die gleich sind, dann
    				{
                      LED_PORT = 0;           //LED soll ausgehen
                      //uart_puts("aus");                   //und puts soll mir eben den Text rausgeben
                    }
    
                    if (strcmp( uart_str, "Hzgan" ) == 0 )  //wenn aber der empfangene String "LED an" heisst, dann
                    {
                     LED_PORT = 1;                 //dann soll die LED angehen
                     //uart_puts("ein");                         //und puts eben dazu
                    }
    				if (strcmp( uart_str, "snd")== 0) 			  			
     			    {	    
                    wert_ausgabe();
    				}
    				if (strcmp(uart_str, "xxx yyy")==0)
    				{
    			    //atoi (uart_str) ;		
                    strcpy(str_in, uart_str);
    				subset();
    				uart_puts(str_1);
    				uart_puts(str_2);
    				}								
    				uart_str_complete = 0;                          //das uart_str_complete wieder auf 0 setzen, damit die ISR weitere Dinge empfangen kann und nicht 
    			 }                                                  //dauernd zeug sendet		 
        }			 		     	  	
     }
    und die stringsubset funktion:

    Code:
    char str_in [10];
    char str_1 [10];
    char str_2  [10];
    
    void subset()
    {	
    	char index_in, index_out;
    	
    	index_in = 0;
    	index_out = 0;
    	while (str_in[index_in] != 0x20)
    	{
    		str_1[index_out] = str_in[index_in];
    		index_in++;
    		index_out++;
    	}
    	index_out = 0;
    	while (str_in[index_in] != 0x0a && str_in[index_in] != 0x0D)
    	{
    		str_2[index_out] = str_in[index_in];
    		index_in++;
    		index_out++;
    	}
    }
    Rest funktioniert.

    Grüße.

Ähnliche Themen

  1. hyperterminal und usb?
    Von exzoys im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 04.02.2011, 19:17
  2. Basicstamp an Hyperterminal
    Von Iguan im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 0
    Letzter Beitrag: 11.10.2009, 17:41
  3. Rds(on) in Pspice ändern/variieren - Modellparameter ändern?
    Von fraujansen im Forum Software, Algorithmen und KI
    Antworten: 2
    Letzter Beitrag: 31.03.2009, 14:35
  4. Variablen über HyperTerminal angucken
    Von palermo im Forum C - Programmierung (GCC u.a.)
    Antworten: 78
    Letzter Beitrag: 26.01.2007, 16:37
  5. Fernsteuerung per Hyperterminal
    Von Asurokiller im Forum Asuro
    Antworten: 4
    Letzter Beitrag: 24.09.2006, 20:58

Berechtigungen

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

LiFePO4 Speicher Test