Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Konverze do jazyka Arduina
Jdi na stránku Předchozí  1, 2
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další)
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
misocko



Založen: Jun 26, 2009
Příspěvky: 1283
Bydliště: Hlohovec (Sk)

PříspěvekZaslal: pá srpen 30 2019, 14:29    Předmět: Citovat

takto vyzeraju moje arduino zaciatky
kód:
int x=0;
int y=0;
void setup()
{
   Serial.begin(9600); 
}

void loop()
{
  x=analogRead(A0);
  if (x<101)
     {
      y=0;
      goto tu;
     }
  if (x<201)
      {
      y=3;
      goto tu;
     }
  if (x<301)
    {
      y=6;
      goto tu;
     }
  if (x<601)
    {
      y=9;
      goto tu;
     }
  if (x<801)
    {
      y=15;
      goto tu;
     }
  if (x<901)
    {
      y=18;
      goto tu;
     }
  if (x>900) y=20;

tu:
  if (y>10)
  {
    Serial.println(y);
  }

}
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ZdenekHQ
Administrátor


Založen: Jul 21, 2006
Příspěvky: 25741
Bydliště: skoro Brno

PříspěvekZaslal: pá srpen 30 2019, 14:47    Předmět: Citovat

Funkci goto se nám vždycky snažili vymlátit z hlavy, že odporuje strukturovanýmu programování. Ale jak vidím, je všude...
_________________
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Cowley



Založen: Feb 04, 2005
Příspěvky: 3288

PříspěvekZaslal: pá srpen 30 2019, 15:04    Předmět: Citovat

Goto zahoď.
Podmínky seřaď sestupně a nech tu hodnotu y průběžně měnit od největší možné po nejmenší.
Na konci ji jenom prověř na větší než 10 a tak pořád dokola.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
elnovy



Založen: Jul 04, 2010
Příspěvky: 796

PříspěvekZaslal: pá srpen 30 2019, 15:20    Předmět: Citovat

misocko jsem ti napsal SZ
dik za funkční program bez keců kolem

_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
FHonza



Založen: Nov 20, 2012
Příspěvky: 1453
Bydliště: Praha

PříspěvekZaslal: pá srpen 30 2019, 21:13    Předmět: Citovat

elnovy napsal(a):

Jak jsem psal se to C for arduano učim
a není to jen zde možno studovat


Tak to vřele doporučuju si najít jiné IDE, protože "arduiní" je peklo. Chybí snad všechno co dnešní IDE mají, včetně takových maličkostí jako bookmarky. O "našeptávání" ani nemluvě.

No a jestli píšeš pro ESP, tak si najdi multiplatformní, protože záhy budeš taky psát html, javascript.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
misocko



Založen: Jun 26, 2009
Příspěvky: 1283
Bydliště: Hlohovec (Sk)

PříspěvekZaslal: pá srpen 30 2019, 21:55    Předmět: Citovat

GOTO je moja "srdcovka". V robote mame manipulatory , u ktorych by som bez GOTO bol strateny, a kedze mna nikto neucil programovanie, tak ani neviem ze ho nemam pouzivat. Veselo ho teda uzivam na manipulatoroch, vo VBA pre excel a prvykrat aj v arduino - aj ked tu som rozmyslal ci to vobec bude rychlejsie ked to pouzijem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Cowley



Založen: Feb 04, 2005
Příspěvky: 3288

PříspěvekZaslal: pá srpen 30 2019, 22:07    Předmět: Citovat

Misocko: tak to pak jo Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ZdenekHQ
Administrátor


Založen: Jul 21, 2006
Příspěvky: 25741
Bydliště: skoro Brno

PříspěvekZaslal: pá srpen 30 2019, 22:10    Předmět: Citovat

Pokud nepředáváš nějaké proměnné, ale jen řídíš funkce typu "nahoru dolu", je to vlastně jedno.

Ale jinak je to cesta do pekla.

_________________
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Cowley



Založen: Feb 04, 2005
Příspěvky: 3288

PříspěvekZaslal: pá srpen 30 2019, 22:14    Předmět: Citovat

Goto Hell Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ZdenekHQ
Administrátor


Založen: Jul 21, 2006
Příspěvky: 25741
Bydliště: skoro Brno

PříspěvekZaslal: pá srpen 30 2019, 22:21    Předmět: Citovat

Jsem si říkal, že oblíbené linuxové dev/null by šlo povýšit na dev/hell a oni to kupodivu znají. Takže zase žádnej bod. Confused
_________________
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3697
Bydliště: Praha

PříspěvekZaslal: po září 02 2019, 22:58    Předmět: Citovat

Misocko, to je ale opravdu začátečnické. Při každé změně limitů se bude přepisovat kód. Tahle konsolovka ukazuje, jak to udělat aby se měnilo jen pole limitů:
kód:

// misocko.cpp

#include <stdio.h>

typedef unsigned int word;

static void loop(void);
static word translate(word x);

#define LIMITS_NUM  6
static word table[LIMITS_NUM + 1][2] =
{
    {101, 0},
    {201, 3},
    {301, 6},
    {601, 9},
    {801, 15},
    {901, 18},
    {000, 20}
};


int main(int argc, char* argv[])
{
    do
    {
        loop();
    }while(true);
   return 0;
}

void loop(void)
{
word x;

    scanf("%u", &x);
    printf("->%u\n", translate(x));
}

word translate(word x)
{
    for(unsigned int index = 0; index < LIMITS_NUM; ++index)
    {
        if(x < table[index][0])
        {
            return table[index][1];
        }
    }
    return table[LIMITS_NUM][1];
}
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další) Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.17 sekund