Küsimus:
Kuidas kustutada Arduino Uno mälu?
Peter Turner
2014-02-27 00:32:43 UTC
view on stackexchange narkive permalink

Ma olen lihtsalt pojaga Arduinot õppiv nokitseja ja olin üllatunud, et kui ühendasin USB-kaabli uuesti Arduinosse, siis programm ikkagi töötas ja mõtlesin endamisi: "See on hea, et ma ei teinud seda lihtsalt õhku midagi. "

Niisiis, kuidas inimesed neid asju tavaliselt päevas kutsuvad? Kas laadite tavaliselt paljad kondid ära, tehke midagi visandit või lihtsalt eemaldage kõik pistikupesast?

Mida mõtlete selle all, et "kui ühendasin USB-kaabli uuesti Arduinosse, programm veel töötas", millist käitumist jälgisite ja millist käitumist ootasite? Kas midagi oli Arduinoga seotud?
@jippie jah, mul oli hunnik LED-sid ühendatud ja need kõik põlesid. Millegipärast arvasin, et programmid on mällu laaditud ja need taaskäivitatakse, kuid kuna seda pole olemas ...
Programmid laaditakse välkmällu, mitte RAM-i, nii et neid hoitakse ka pärast väljalülitamist.
Kuus vastused:
#1
+15
Manishearth
2014-02-27 00:37:12 UTC
view on stackexchange narkive permalink

Käivitamisel käivitab Arduino mis tahes programmi, mis sellele viimati pandi. Lahendus: ärge lülitage seda sisse, kui te ei soovi, et see töötaks.

Karbist väljas olles käivitab Arduino tavaliselt programmi Blink. Nii et saate selle lihtsalt lähtestada ja helistada sellele päevas, kui soovite selle "lähtestada".

Või kasutage unekäsklusega loop-programmi.

Kui olete jama teinud USB-laadijaga icsp-tihvtide kaudu ei piisa sellest, kuid peate alglaaduri uuesti installima. Kuid kui olete programme üles laadinud USB kaudu või otse programmeerija abil, pole selle lähtestamiseks probleemi Blinki või mõne muu näiva programmi üleslaadimisega.

kas on võimalik lasta sellel käivitada ennasthävitav programm, mille pingeterminalidesse pole midagi ühendatud?
@PeterTurner, kui sellel pole jõudu? Ei. Kuid võite lisada programmi, mis kuritarvitab tihvte, ja kui jätate selle mõnele kahjustusele, võib seda kutsuda (mitte palju, kui tihvtid pole ühendatud)
#2
+9
asheeshr
2014-03-02 08:38:25 UTC
view on stackexchange narkive permalink

Kui turvalisus on peamine probleem, siis peate enne selle helistamist peaaegu alati tahvlile laadima stop * sketši. See oleks hea mõte näiteks siis, kui teie tahvel on poolpüsivalt osa suuremast süsteemist. Saate seda teha:

  • laadige üles faili fail -> näited -> Basic kbd > jaotises
  • laadige visand üles suure tsükliga.
  #include <limits.h>void setup () {} void loop () {delay (ULONG_MAX);}  
  void setup () {exit (0);} void loop () {}  

* Stop on lihtsalt kujundlik. Tahvli töötamine ei peatu.

Kas saaksite sarnase (ja püsivama) efekti, helistades `setup ()` või `loop ()` seest väljapääsule (exit)?
-1
Miks peaks vaeva nägema kas väljapääsu või hilinemisega? Lihtsalt laske `void setup () {} void loop () {}` - igal juhul käib protsessor sisemiselt ringi, tehes midagi kasulikku.
#3
+2
linhartr22
2017-06-08 22:42:12 UTC
view on stackexchange narkive permalink

Minu suurim mure, kui see juhtub, on see, et olen tavaliselt oma uue projekti jaoks Arduino juhtmega ühendanud ja ühendan uue visandi esialgse allalaadimise jaoks USB-ühenduse. Mul on muret, et mul pole aimugi, mida eelmine programm proovib, olles ühendatud täiesti erineva riistvaraga.

Siiani pole midagi hullu juhtunud ja ma ei usu, et võtaksin iga kord põletava BLINK-i kasutusele pange üks minu Arduinos prügikasti tagasi. Tõenäoliselt on see siiski vaid aja küsimus.

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

Peamine asi, mis võib valesti minna, on see, et kui panete Arduino paariks nädalaks kõrvale, unustate, milline visand (kood) on sellele laaditud, siis asute selle kallal uuesti tööle, ühendage riistvara (nt lüliti, LED või mootor) ja laske sellel ootamatult süttida / sisse lülitada, kuna eelmine kood adresseeris tihvti, millega see oli ühendatud.


Lahendus 1. Laadige kõigepealt uus kood.

Lihtne ja turvaline tehnika on uue koodi laadimine, millega täna töötate, enne kui riistvara ühendate. Nüüd teate, mida kood teeb, milliseid tihvte see kasutab, ja ühendate seejärel riistvara hiljem sisse lülitada (soovitavalt lülitage Arduino kõigepealt välja, eemaldades selle vooluvõrgust).

Kui käivitate toite uuesti, töötab see teie üleslaaditud visandi, teie riistvara on ühendatud ja kõik peaks korras olema.


Lahendus 2. Laadige "ära tee midagi" visand.

Saate selle lühikese visandi üles laadida:

  int main () {}  

See "ei tee midagi". Kõik tihvtid jäävad sisenditeks, nii et saate seejärel turvaliselt riistvara kinnitada ja seejärel oma uut projekti kodeerida.


Kõigepealt turvalisus

Hea reegel on mitte ühendada või ühendage riistvara (nt valgusdioodid, lülitid, mootorid) vooluvõrgust lahti. Kui häirite end ja ühendate plaadi valesse pistikupessa, võite kohe kahjustada nii ühendatut kui ka Arduinot või mõlemat.

Kui seade on välja lülitatud, saate teha viimase hetke. kontrollige, kas kõik on õiges kohas ühendatud, kas teie polaarsus on õige ja nii edasi.

Veenduge ka, et teie kehal pole staatilist elektrit, eriti kui teil on hüppaja vms. kohev või istun vaibal.

Isiklikult sirutan käe ja puudutan mõnda lähedal asuvat metallosa, et ennast "maandada", enne kui Arduino poole sirutan. Näitena võib tuua arvuti metallkorpuse, kõrvaklappide pesa vms.

Kui pärast Arduinoga toite ühendamist (nt USB-kaabli abil) ei näe kohe toite LED põlema, eraldage toide kohe! Võib-olla olete midagi lühistanud ja seda vähem on aega, seda parem.

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

Kui arduino plaat on ühendatud mõne muu seadmega, ühendage kõik pistikupesast lahti ja ühendage arduino lihtsalt USB-kaabli abil arvutiga ja proovige üles laadida uus visand, loodan, et see aitab.

Tere tulemast Arduino SE-sse! Kas on mingil põhjusel see vastus parem kui teised esitatud vastused? Aitäh!
#6
  0
Victor Peters
2017-01-11 04:06:09 UTC
view on stackexchange narkive permalink

Minge Arduino IDE-s näidete juurde, valige Eeprom, valige eepromi tühjendamine ja laadige seejärel visand üles.

Kui tihvti 13 LED põleb, siis olete valmis.

NB. See võib võtta aega, sõltuvalt EEPROM-i suurusest Arduinos.

Mis mõte siis on? Kas käivitate midagi, mis ei puuduta I / O-d (kuid kustutab EEPROM-i igal sisselülitamisel)?
Kas olete seda tegelikult proovinud? Tundub, et tihvt 13 pole väljundina seadistatud (Arduino IDE 1.6.5)


See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...