- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 8 von 8

Thema: Mit dem asuro rechnen ????

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #5
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Man könnte das vielleicht auch "von Hand" ausrechnen:

    PHP-Code:
    // asuro multipliziert dreistellige Zahl mit 2                          mic 7.6.2012

    // Die über die serielle Schnittstelle empfangene dreistellige Zahl wird üngeprüft
    // mit zwei multipliziert und das Ergebniss wird zurückgesendet

    // https://www.roboternetz.de/community/threads/58106-Mit-dem-asuro-rechnen

    #include "asuro.h"

    char zahl[3]; // drei Ziffern mit Index 0 bis 2
    char ergebniss[4]; // das Ergebniss könnte vierstellig sein
    unsigned char tempiuebertrag;

    int main(void)
    {
        
    Init();
        
    SerWrite("\n\rasuro Taschenrechner\n\n\r"25);

        
    SerWrite("Bitte dreistellige Zahl eingeben\n\rund mit [Enter] absenden\n\r"60);
        
    SerRead(zahl30); // drei Zeichen ohne Timeout einlesen
           
        
    StatusLED(YELLOW);
        
    i=2// Index auf Einerstelle setzen
        
    uebertrag=0// noch kein Übertrag von der vorhergehenden Stelle

        
    do
        {
            
    temp=zahl[i]-'0'// Ziffer von ascii nach dezimal umrechnen
            
    temp=temp*2+uebertrag// mit 2 multiplizieren und Übertrag berücksichtigen
            
    if(temp 9// Übertrag erkennen
            
    {
                
    uebertrag=1// Übertrag auf nächste Stelle
                
    temp=temp-10;
            }
            else
                
    uebertrag=0// kein Übertrag
            
    ergebniss[i+1]=temp+'0'// Wert in ascii-Ziffer umrechnen und speichern
        
    }while(i-- != 0); // nächste Stelle berechnen

        
    if(uebertrag// erste Stelle berechnen (keine Prüfung auf führende Nullen)
            
    ergebniss[0]='1'// 1 wenn Übertrag...
        
    else
            
    ergebniss[0]=' '// sonst Leerzeichen
               
        
    SerWrite(ergebniss4); // Ergebniss ausgeben
        
    SerWrite("\n\r",2);

        
    StatusLED(RED); // Aufgabe erledigt und Programmende
        
    while(1);
        return(
    0);

    (ungetestet)

    Keine Ahnung ob das so funktioniert. Wenn du es zu laufen bringst und kapiert hast, wie ich mir das gedacht habe, hast du auch schon einiges gelernt. Als Zusatz könnte man noch eine Prüfung der eingegebenen Zahl einbauen, die führenden Nullen entfernen und das Ganze als Endlosschleife umsetzen.

    Gruß

    mic

    [Edit]
    PHP-Code:
        SerWrite(zahl3); // Ergebniss ausgeben
        
    SerWrite("*2="3);
        
    SerWrite(ergebniss4);
        
    SerWrite("\n\r"2); 
    Geändert von radbruch (07.06.2012 um 23:31 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Ähnliche Themen

  1. Rechnen mit Gleitkommazahlen
    Von daniel.weber im Forum C - Programmierung (GCC u.a.)
    Antworten: 20
    Letzter Beitrag: 09.05.2011, 14:38
  2. Rechnen mit Bascom
    Von Pedder im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 10
    Letzter Beitrag: 26.09.2009, 22:07
  3. Rechnen Problem
    Von Movie85 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 11.08.2008, 21:08
  4. Zinsaufgabe rechnen (mit dem Boe-Bot)
    Von butt-bot im Forum Software, Algorithmen und KI
    Antworten: 4
    Letzter Beitrag: 28.03.2007, 21:14
  5. Gruppenschaltung rechnen
    Von Larzarus im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 28.07.2006, 16:55

Berechtigungen

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

Solar Speicher und Akkus Tests