Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Xloaderrel Win alól fel tudná tölteni a hex kódot, nem kell neki a parancssor dágványaiban keveregni.
Az a baj hogy az egész tömörítvényben nem találok hex kiterjesztésű file-t.
A blink felment gond nélkül, a log-ban csak a memória mennyiségét írja hogy mennyit használt el és mennyi maradt még vissza.
.hex file az azért nincs, mert még nincs lefordítva a kód. Azt csinálná a make kezdetű sor.
A log pedig csak akkor írja ki, ha be van kapcsolva a verbose az upload-ra. Nálam be van, de lehet nem ez a default. File -> Preferences, és itt van a show verbose output után két pippantó, a 2. az upload.
Egyet fordítottam. Remélem a feltöltése után nem lesz papírnehezék az arduinód.
Én is remélem hogy nem mert használni kéne.
Sikerült a feltöltés és akkor most elvileg már működnie is kell a programnak? Mert össze van rakva csak hozzá kell kötni még a C64-hez hogy lehessen próbálni.
Sziasztok! Vettem egy ilyet
tettem fel drivert is hozzá. látja is az IDE de valagy mégsem tudok vele feltölteni egy villogó led programocskát .Egy 168 as 16 MHz -es usb nélküli kis nanóba szeretném használni. Az átalakítón nincs DTR, jelent e valamit ez a dolognak? tx-rx rx -tx 5v-vcr gnd -gnd így kötöttrm össze. Com 4 portot választottam ki mert amikor csatlakoztatom a kis ezközt ez jelenik meg . Usb csatlakozóval ellátott készülékek működnek ezzel a renszerrel csak ez az átalakítós nem nagyon akar . Kösz a segítséget !
A DTR jelzi valahogyan a feltöltés kezdetét, szerintem anélkül nem működik. Esetleg azzal próbálkozhatsz, amikor a feltöltés elindul(na) az arduinon nyomsz egy resetet.
A DTR-en keresztül reseteli az USB-soros átalakító az MCU-t. Gyakorlatilag egy 100nf-os kondin keresztül csatlakozik az MCU reset lábára, ami egy felhúzó ellenálláson keresztül van tápon. A kondin keresztül egy pillanatra GND-re kerül, így kiváltva a reset folyamatát.
Szeretnék egy 4x4-es billentyűzetről kétjegyű számot bekérni. A javítás lehetőségét is megtartva, "C" és az "A" billentyűvel elküldeni az értéket- később számként lesz szükség az adatra.
While ciklussal próbálkozom, de nem működik. Merre találok hasonlóra kódot? Köszönöm!
Az interneten találsz kódot. google-ba arduino 4x4 keyboard number input, vagy valami hasonló keresőkifejezésre tuti lesz találat.
De ha megosztod velünk azt a kódot ami "nem megy", akkor lehet hogy tudunk segíteni a hibajavításban...
Csak akkor lép ki a ciklusból, ha mindkét gomb "A" betű. De gyanús, hogy nem tudod olyan gyorsan nyomni a gombokat, hogy egy while cikluson belül kétszer is lefusson a getKey(). De ha mégis lefutna, akkor 2 A betűt kapnál amikor kilépsz a kódból.
DE van ennek a libnek egy waitForKey() függvénye is, igaz az mindent blokkol.
Kiveszem a második getKey()-t. Próbálkozom azzal.
0-19 értéket szabad csak elfogadni, még ezt is bele kell tennem. A tízes helyiérték csak 0 vagy 1 lehet. A * karaktert pedig szintén külön kell kezelni, mert ahhoz is rendelnék. A másik lehetőség, hogy 0-20 ig viszem be az értéket.
próbáld meg így is biztos ami biztos:
while ( ( while (keyT!='A' || keyE!='A')) || ( keyE!='A' ) ) de ez a feltétel két A esetén teljesül. Azaz, ha mindekét esetben A akkor megy tovább. futfuthat_tovabb=false; do : eddigi kódod If ((keyT=='A') || (keyE!=='A')) { futhat_tovabb=true; } while (futhat_tovabb=false) Már ha jól értettem, hogy bármelyik A esetén lépjen tovább.
while ( (keyT!='A') || ( keyE!='A'))
a ctr-v megviccelt az előző hozzászólásomban.
Szerintem írd le röviden, pontokba szedve, hogy pontosan milyen működést szeretnél. Olyan apróságokra is gondolok, hogy pl. a 9-et csak 09-ként lehessen bevinni, csak 9-ként, vagy mindkettő; mit csinál az A,C,*, stb.
Van nekem is egy ilyen billentyűm amit hamarosan fel akarok használni, szóval előbb-utóbb én is nekimegyek egy ilyen kódnak, megpróbálok segíteni. A hozzászólás módosítva: Dec 16, 2018
Én a logikai feltételnél a vagy-ra gondoltam, majd tovább kutatok.
Az egyszerűség miatt a 00-09 formátum is megfelel, de elegánsabb lenne tíz alatt az egy számjegyes forma. Ez egy vasútmodell fordítókorongjának a vezérlőjéhez kell Korong. Az első változat csak kilenc kiállást tartalmazott, de szeretném 20-ra kibővíteni.
Írd le, hogy pontosan milyen működést szeretnél! Mi az A, mi a C, stb. Vasútmodellhez nem értek, abból nem tudok kiindulni.
Semmi külön jelentése nincs az A-nak. ezt találtam el, hogy Adja az értékel, a C pedig egy tévesen beírt értéket töröl.
A lényeg, hogy beolvassunk számokat 0-tól 20-ig és ezt a továbbiakban számként kezeljem.
Én igy csinálnám:
Van egy ötletem: a tömbben a számokat sima számként, ne szám string-ként tároljuk, így nem kell belőle kivonni az ascii '0' értékét. Vélemény?
Idézet: „while (keyT!='A' || keyE!='A') ; //amíg igaz addig fut” Ez szerintem nem lesz jó! A keyT és a keyE is egy-egy változó, és magától nem fog megváltozni! Ha belemegy a while ciklusba (ami egyetlen pontosvessző), akkor onnan már nincs ami kimozdítsa, kvázi lefagy az egész. szerk: A sztring használatával szerintem nincs gond, gondolkodásban közelebb van a "hagyományos" billentyűzethez, meg a többi karaktert is kezelni kell valahogy (ABCD*#) A hozzászólás módosítva: Dec 17, 2018
Itt do{} while();-t használ, nem az a baj.
A string pedig teljesen fölösleges
Jé, tényleg! Fel sem tűnt! Akkor bocs, nem szóltam!
Örülök minden segítő megoldásnak.
Köszönöm!
Szerintem jobban járnál, ha az isdigit() függvénnyel vizsgálnád a beérkezett karaktert, ha az az, és nem a kilépés karakter, akkor adja egy char tömbhöz, majd azt alakítod akkor számmá, mikor bepötyögte az ok gombot :'*'-t (vagy string -eket is használhatsz, a végén meg az int függvénnyel számmá alakítod azt.)
De ez sem kell feltétlenül. Inkább egy utasítás az LCD-re, hogy a '*' gomb megnyomása után csak számokat adhatsz meg, kilépés belőle '*' gombbal. Ok megnyomja, ekkor egy while ciklus addig, míg megint '*'-t nyom meg. Na most az isdigit-el közben vizsgálod mit adott meg. Ha szám, akkor beteszed a tömbbe vagy a string-hez hozzáfüzöd. Ha nem, akkor abban az if-ben azt vizsgálod (előző else ága), hogy véletlenül nem '*'-t nyomott-e megint. Ha igen, akkor az a logikai változó ellentettjére változik ami a while-cilkusban tartja a fő programot. A while után meg megvizsgálod mit adott meg. Ha semmit, akor semmit sem kell csinálni, max egy üzenet felé, hogy kilépett ebből úgy, hogy nem adott meg számot. |
Bejelentkezés
Hirdetés |