Küsimus:
Mis on parim viis koodi kontrollimiseks ilma kontrollerita?
Hardik Thaker
2014-02-12 11:16:33 UTC
view on stackexchange narkive permalink

Ma tahan oma Arduino koodi ühekaupa testida. Ideaalis soovin oma koodi käivitada ja testida ilma tahvlile üles laadimata. Millised tööriistad või teegid võivad mind selles aidata?

Arenduses on Arduino emulaator, mis võib olla kasulik, kuid tundub, et see pole veel kasutamiseks valmis.

Üksuse testimine ja koodi käitamine emulaatoris on siiski üsna erinevad asjad.
Jah, siin on kaks küsimust, üks on üksuse arduino koodi testimise ja teine ​​arduino koodi täitmiseks mõeldud emulaatorite kohta. Ehk looge igaühele konkreetne küsimus, eriti üksuse testimiseks, mida pole varem käsitletud.
Kolm vastused:
Ahmed Hamdy
2014-02-14 01:16:05 UTC
view on stackexchange narkive permalink

Saate oma Arduino koodi hõlpsasti simuleerida, kasutades kuulsat Proteus ISIS-i.
Peate lihtsalt otsima Proteuse jaoks konkreetset Arduino simulatsiooniteeki.

Siin on väike õpetus selle toimingu tegemiseks:

kõigepealt tuvastage tee, kuhu Arduino IDE heksfaili genereerib?
Näiteks kui kasutate ametlikku IDE-d, leiate heks-faili asukoha kaustast "arduino IDE tee / lib / preferences.txt"
Või kui kasutate Arduino ERW-d, mida Windowsis kõige rohkem soovitasin! Nii saate väljundkausta lihtsalt avada, valides "Sketch> Copy HEX file as path".

Teiseks laadige Arduino teek alla siit. Seejärel kopeerige ARDUINO.LIB ja ARDUINO.IDX installikataloogi Proteus kausta "library".

Kolmandaks avage ISIS ja peaksite selle komponendi üles leidma.

Pärast ülaltoodud toimingute lõpetamist leidke see töölehe pilt ja simulatsioon töötab suurepäraselt! Simulating Arduino Uno on Proteus ISIS

Ja kui algust, leidke see väike memo I valmis Arduino Uno tihvtide paigutuse jaoks:

  0-14: I / OA0-A5: Analog Saame analoogi kasutada digitaalsena: ======== ===================== Pinout: 00: Rx | Ei saa kasutada sisend- ja väljundina, kui kirjutasin koodi Serial.begin01: TX | 02: Interrupt03: Interrupt & PWM04: 05: PWM06: PWM07: 08:09: PWM10: PWM & SPI11: PWM & SPI12: : SPIA0: A1: A2: A3: A4: TWIA5: TWI  
lasote
2014-04-02 02:55:20 UTC
view on stackexchange narkive permalink

Püüan riistvaraloogika alati eraldada ülejäänud domeeniloogikast.

Klassid (või mis iganes) domeeniloogikast saab programmeerida c ++ (koos teadaolevate arduino piirangutega, nagu erandid või std lib) ja neid saab testida gtestiga. Kui neid klasse testitakse, siis lihtsalt eksemplar arduino programmist, välja arvatud testidega peamine.

Kui teie projekt on puhas riistvara, ei aita see lahendus teid eriti, kuid kui teil on oma algoritmid, protokollid. .etc., testige neid Google'i testiga, mis säästab tundide viisi pardal olevaid teste ja ootamatute tulemustega mäluprobleeme ning teie tarkvara muutub kvaliteetsemaks.

Jah, see on SW-arenduse oluline punkt, mis on arduino arendamisel peaaegu alati vahele jäetud. Kui teie projektil on keerukad funktsioonid või algoritmid, võib koodi väikeste ühikute testimine säästa tunde.
Connor Wolf
2014-02-12 12:29:21 UTC
view on stackexchange narkive permalink

Kas olete vaadanud AVR-simulaatorit, mis on osa Atmel Studio -st? Arvestades Atmeli kavandatud protsessorit, võib simulatsioon väga hästi kasutada HDL-i, mida kasutati MCU enda tootmiseks.

Kahtlustan, et kui teete piisavalt palju seotud, et kasutada üksuste testimist, peaksite tõenäoliselt lõpetage oma seadme mõtlemine kui "Arduino", vaid pigem "ATmega MCU PCB-l". ATmega protsessorite kohta üldiselt on saadaval palju rohkem teavet ja tööriistu kui Arduinos.



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...