Otázka:
Jak mohu vymazat paměť Arduino Uno?
Peter Turner
2014-02-27 00:32:43 UTC
view on stackexchange narkive permalink

Jsem jen dráteník, který se učí Arduino se svým synem, a byl jsem překvapen, že když jsem znovu zapojil USB kabel do Arduina, program stále běžel a myslel jsem si: „Je to dobrá věc prostě vyhodit cokoli do povětří. “

Takže, jaký je normální způsob, jakým to lidé u těchto věcí nazývají den? Obvykle naložíte holé kosti, nic neděláte, nebo vše jen odpojíte?

Co myslíte tím, „když jsem znovu zapojil USB kabel do Arduina, program stále běžel“, jaké chování jste pozorovali a jaké chování jste očekávali? Bylo něco připojeno k Arduinu?
@jippie jo, zapojil jsem spoustu LED diod a všechny se rozsvítily. Z nějakého důvodu jsem si myslel, že programy byly načteny do paměti a budou restartovány, ale protože to neexistuje ....
Programy se načítají do flash paměti, ne do RAM, takže se uchovávají i po vypnutí.
šest odpovědi:
Manishearth
2014-02-27 00:37:12 UTC
view on stackexchange narkive permalink

Po spuštění bude Arduino spuštěno bez ohledu na to, na který program byl naposledy vložen. Řešení: Nezapínejte jej, pokud jej nechcete spouštět.

Když je po vybalení z krabice, Arduino obvykle spouští program Blink. Takže to můžete jednoduše načíst a nazvat to den, pokud jej chcete „resetovat“.

Nebo si vytvořte smyčkový program s příkazem spánku.

Pokud jste si hráli s bootloaderem USB přes piny icsp to však nestačí, budete muset bootloader znovu nainstalovat. Pokud jste však nahrávali programy přes USB nebo přímo pomocí programátoru, není problém s nahráním Blink nebo jiného fiktivního programu, který by jej resetoval.

je možné nechat to spustit autodestrukční program bez zapojení k napěťovým svorkám?
@PeterTurner, když na to není síla? Ne. Ale můžete přidat program, který zneužije piny, a pokud to necháte na nějaké poškození lze volat (ne moc, pokud piny nejsou připojeny)
asheeshr
2014-03-02 08:38:25 UTC
view on stackexchange narkive permalink

Pokud je bezpečnost hlavním problémem, měli byste téměř vždy načíst na tabuli stop * náčrtek, než jej budete nazývat den. To by byl dobrý nápad, například když je vaše deska částečně trvale součástí většího systému. Můžete to udělat takto:

  • Nahrajte skicu Bare Minimum nalezenou v souboru -> příklady -> základní kbd > v
  • Nahrajte skicu s velkým zpožděním ve smyčce.
  #include <limits.h>void setup () {} void loop () {delay (ULONG_MAX);}  
  void setup () {exit (0);} void loop () {}  

* Stop je pouze obrazný. Deska ve skutečnosti nepřestává fungovat.

Mohli byste získat podobný (a trvalejší) efekt voláním `exit ()` zevnitř `setup ()` nebo `loop ()`?
@PeterR.Bloomfield Nemůžu uvěřit, že jsem na to zapomněl!
Proč se obtěžovat s odchodem nebo zpožděním? Stačí mít `void setup () {} void loop () {}` - v každém případě interně procesor pouze obíhá kolem „nedělá nic užitečného“.
linhartr22
2017-06-08 22:42:12 UTC
view on stackexchange narkive permalink

Mým největším problémem, když k tomu dojde, je, že jsem pro svůj nový projekt obvykle zapojil Arduino a připojuji USB pro počáteční stažení nového náčrtu. Obávám se, že nemám ponětí, co předchozí program zkusí, protože je připojen k úplně jinému hardwaru.

Zatím se nestalo nic špatného a nemyslím si, že si osvojím vypalování BLINK pokaždé, když vložte jednoho z mých Arduinos zpět do koše. Pravděpodobně je to však jen otázka času.

Nick Gammon
2015-08-19 02:59:16 UTC
view on stackexchange narkive permalink

Hlavní věc, která se může pokazit, je, pokud odložíte své Arduino na pár týdnů, zapomenete, jaký náčrtek (kód) je do něj načten, pak se vraťte k práci, připojte hardware (jako přepínač LED nebo motor) a nechte jej neočekávaně rozsvítit / zapnout, protože předchozí kód adresoval pin, ke kterému byl připojen.


Řešení 1. Nejprve nahrajte nový kód.

Jednoduchou a bezpečnou technikou je načíst nový kód, na kterém dnes pracujete, dříve než připojíte jakýkoli hardware. Nyní víte, co kód dělá, jaké piny používá, a pak připojíte poté hardware (nejlépe nejprve vypněte Arduino jeho odpojením).

Poté, když znovu připojíte napájení, spustí náčrt, který jste nahráli, máte připojený hardware a vše by mělo být v pořádku.


Řešení 2. Načtěte „nedělat nic“ skica.

Můžete nahrát tento krátký skica:

  int main () {}  

„Nic nedělá“. Všechny piny zůstanou jako vstupy, takže můžete bezpečně připojit hardware a poté začít programovat nový projekt.


Nejprve bezpečnost

Dobrým pravidlem je nepřipojovat nebo odpojte hardware (např. LED diody, spínače, motory) při připojeném napájení. Pokud se rozptýlíte a zapojíte se do nesprávné zásuvky na desce, můžete okamžitě poškodit buď to, k čemu jste připojeni, nebo Arduino, nebo obojí.

Při vypnutém napájení můžete provést poslední chvíli zkontrolujte, zda je vše připojeno na správné místo, máte správnou polaritu atd.

Také se ujistěte, že nemáte na těle statickou elektřinu, zvláště pokud máte na sobě svetr nebo něco načechraný nebo sedím na koberci.

Osobně se vždycky natáhnu a dotknu se nějaké kovové části poblíž, abych se „uzemnil“, než jsem se natáhl po Arduinu. Příkladem je kovové pouzdro počítače, zásuvka pro sluchátka nebo něco takového.

Pokud po připojení napájení k Arduinu (např. pomocí kabelu USB) okamžitě nevidíte rozsvícení kontrolky LED napájení, okamžitě odpojte napájení! Možná jste něco zkrátili a čím méně času pro to uděláte, tím lépe.

nipi
2015-08-18 17:41:12 UTC
view on stackexchange narkive permalink

Pokud je deska arduino připojena k jakémukoli jinému zařízení, odpojte vše a jednoduše připojte arduino k počítači pomocí kabelu USB a zkuste nahrát novou skicu, doufám, že to pomůže.

Vítejte v Arduino SE! Existuje nějaký důvod, proč je tato odpověď lepší než ostatní poskytnuté odpovědi? Dík!
Victor Peters
2017-01-11 04:06:09 UTC
view on stackexchange narkive permalink

V Arduino IDE přejděte na příklady, vyberte Eeprom, vyberte eeprom clear a poté nahrajte skicu.

Když se rozsvítí LED na kolíku 13, máte hotovo.

Pozn. To může nějakou dobu trvat, v závislosti na velikosti EEPROM v Arduinu.

Jaký to má smysl? Spouštíte něco, co se nedotýká I / O (ale vymaže EEPROM při každém zapnutí)?
Už jste to zkusili? Zdá se, že pin 13 není nastaven jako výstup (Arduino IDE 1.6.5)


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...