Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Ha jól értem, a replace() tagfüggvény csak karaktert karakterre vagy stringet stringre tud cserélni, vegyesen nem.
'mit' és 'mire' megadható karaktertömbként is
A hozzászólás módosítva: Jan 24, 2017
Méretezd újra a feszültség osztót, hogy az 1.1V-os referenciába bele férjen. Válts át 1.1V-os referenciára. Ezt meg tudod mérni az Aref pin-en, tehát tudsz vele számolni, és nem olyan zajos és ingadozó lesz, mint most az 5V. A feszültség osztóra rakj egy 100nF-ot. Több mérést készíts, 16-32db-ot, és átlagold.
Rendben, Köszi a választ!
Ma este kipróbálom, ha itthon leszek.
Sziasztok!
Szeretnék hőmérőt csinálni arduinoval, 47kohm-os themistorom(NTC, vagyis minél melegebb annál kisebb az ellenállása) van itthon. Azt olvastam, hogy vele megegyező értékű ellenállás kell a plusz ágba, ezt meg is csináltam, feltöltöttem egy elvileg működő kódot, de nem jól működik: ha melegítem, akkor csökken a kiírt hőmérséklet. Ez a kód 100kohm-os thermisztorral, és 100kohm-os ellenállással íródott. Mi lehet a probléma? Köszi a segítséget!
A hozzászólás módosítva: Jan 25, 2017
A képletedhez fordított bekötés tartozik: az NTC legyen a tápfesz felől, az ellenállás pedig a föld felől. Bővebben: Link
Köszönöm, ennyi volt csak a probléma
Köszönöm szépen a segítségedet!
A karaktertömbös megoldás nagyon jól müködik, teszi a dolgát. További szép napot!
Az 1-es sorban, én nem A2-öt szoktam írni, hanem egyszerűen 2-öt.
azaz: int analogInput = 2; És eddig mindig simán ment az ad.....
Akkutöltőben ritkán van megfelelő szűrőkondenzátor a bemenő tápon.Kezdeném egy soros diódával a + ágban , utána egy pufferkondenzátor, és mehet a stab ic-re.
Így is van pontosan. Majd este megpróbálom a progit megcsinálni, még nem érkeztem eddig.
Nyolc float változót szeretnék lcd-re kiírni egymás után,lehetséges-e a változókat tömbbe szervezni és for ciklussal megoldani,esetleg másképpen?
Közben került még egy probléma: Ha a tömb középére vagy akárhova teszek 0x00-át, akkor az utána lévő karaktereket levágja.
Pl.:
A fenti példában a * karaktert 0x082A-ra cseréli ki. Van-e ötletetek arra, hogy hogyan lehetne kijavítani a hibát? A hozzászólás módosítva: Jan 26, 2017
A problémát a C programozási nyelv sajátossága okozza, méghozzá azt, hogy a karakterláncokat a 0 zárja le. Azt is tudni kell, hogy a karakterlánc az nem más, mit a karaktertömb, tehát a következő két kifejezés ugyanazt hozza létre:
Ebben a két esetben s1 és s2 is csak egy mutató, ami a H betű memóriacímére mutat. Azt pedig onnan tudja a string kezelő könyvtár, hogy hol van a szöveg vége, hogy hol van a 0. Így, ha 0-t szeretnél tenni egy karakterláncba, akkor után azt a szöveget már a szabvány C függvények a 0-nál vágni fogják, mert mind azt hiszi, hogy ott van a vége. Összefoglalva: ne kezelj bináris adatot stringként! Menj végig a stringen karakterenként és másold egy másikba. Ha olyan karakterhez érsz, amit cserélni kell, akkor cseréld és menj tovább. Kb. így, mint az alábbi mintában, de ez emberi felhasználásra nem alkalmas, mert memory leak veszélyes, meg 5 perc alatt írtam így nincs agyon tesztelve, de kiindulásnak jó lehet:
És a kiment a soros monitoron:
Sziasztok!
Kezdő lennék még, nézzétek el nekem ha pongyola a megfogalmazásom... Adott egy while ciklus és azon belül több if feltétel lenne a hozzá tartozó végrehajtani kívánt programkóddal. Viszont egyszerre több if is igaz lehet és végre kéne hajtani a több if-hez tartozó kódot is. Magyarul van egy if ez teljesül, végrehajtja a kódot amíg a végén lévő else nem lesz igaz mert akkor vége. De közben kéne más dolgokat is csináljon, ezek a közben lévő if-ek teljesülésekor hajtódnak végre... Valahogy így:
Kaphatnék egy példát? Köszönöm!
Sziasztok!
Arduino nano klónt használtam eddig, egyszer egyik programfeltöltéstől a másikra megadta magad, csak a void setup ciklus fut le, és ezt a hibakódot dobja ki: Bocsánat hosszú lett, talán a vége az érdekes.(csatalkoztatva van rendesen, jól van minden kiválasztva) Lehet vele valamit kezdeni, vagy ez a hibakód a halála?
Köszönöm ezt a nagyszerü kódot, de sajnos nem tudom használni...
A célom az lett volna ezzel a kicseréljük a betüt hexadecimális karakterekre, hogy: Van egy 48x8-as Led Matrixom amiben a PIC meghalt, programom nincsen hozza, ezért kicseréltem a PIC-et ATmega328-ra. A programot kissebb-nagyobb segítséggel odáig megírtam, hogy egy 48 karakterből álló tömböt megtud jeleníteni a matrixokon (pl.: 0xFF: 11111111, azaz az oszlop világít, 0xE7: 11100111, az alsó 3 pixel és a felső 3 pixel világít stb.), most gondoltam, hogy egyszerüen kicserélek minden betüt a hozzá tartozó 5x8-as karaktertömbre (pl.: a H betüt 0x7F 0x08 0x08 0x08 0x7F-re) és az így kapott tömböket egymásután teszem és kiírom a matrixokra. Ez idáig müködik szeg76 kódjának a segítségével, de amint írtam 0x00-nál levágja az utána lévő karaktereket. A
Az alábbi tömb tartalmaz 0x00-át, de rendesen kiírja.
Megprobáltam így, így azt kellene csinálja, hogy kiír egy H betüt, utána egy 0x00-ás oszlopot és az a maradék "ello"-t átalakítsa binárisra és kírja azt (0x65, 0x6C, 0x6C, 0x6F) de ezt csinálja vele
A hozzászólás módosítva: Jan 26, 2017
Így mit csinál?
Amúgy nem lenne egyszerűbb a szöveget és a bitképet külön tárolni és kezelni?
szeg76-al egyetértek. Esetleg egy map-al?
A hozzászólás módosítva: Jan 26, 2017
Mi lenne ha a switch / case / break utasításokat alkalmaznád?
Bővebben: Link
Szia!
Az általad írt vázlat is azt csinálja, amit írtál...
Idézet: „De közben kéne más dolgokat is csináljon,” Az egymagos processzorok egyszerre egy dolgot tudnak csinálni, tehát közben nem megy más sajnos ! Látszólag lehet több dolgot egyszerre csinálni a program megfelelő szervezésével, megszakítással, de ezt a feladat konkrét ismeretében kell átgondolni ( meg először a hozzátartozó ismereteket elolvasni és megérteni !) ! A hozzászólás módosítva: Jan 27, 2017
Sziasztok. Arduino nano-ra keresném azt a programot ami léptetőmotort vezérel sebesség szabályozva (potméterrel) és a tekercsek kivezetése külön jön ki az arduino-ból (ULN2803AG-n keresztül hajtom a léptetőt.) Válaszokat előre is köszönöm.
Szia! A példák között van. Pédák -példák könyvtárból- stepper - stepper speed control.
Este megtaláltam,köszönöm.
Szia!
Félreértettük egymást! Azt szeretném hogy ha a feltetel2 igaz akkor hajtsa végre az alatta lévő utasításokat de miközben ezeket végrehajtja (mert a feltétel még mindíg igaz) nézze meg a feltetel3-at is és ha az is igaz (miért is ne lehetna) akkor hajtsa végre azt is sőt ha a feltetel4 is igazzá válik (lehet hogy akkor már a feltetel3 nem igaz de a feltetel2 még mindíg akkor azzal is foglalkozzon). Nyilván nem egyszerre mert arra nem képes, de ne ragadjon le az első if-nél hanem nézze meg a többit is! Szóval ezt hogyan? A konkrét projektet itt nem vesézném ki, ha nem gond de ha gondolod privátban leírom! Üdv, Lac
Ilyet nem lehet csinálni, hogy miközben valamit végrehajt, nézzen valami mást is, hacsaknem a megszakításokkal ügyeskedünk, de az is csak egymásután van! Csak a vizsgálatok ciklusba szervezésére tudok gondolni.
Mint ahogy írtam én is egymás után gondoltam természetesen nem egyszerre.
De ami a lényeg hogy megvizsgál egy változót amire ha igaz a feltétel végrehajt egy utasítás sorozatot. Viszont van egy másik változó is amire ha igaz a másik feltétel akkor azzal is foglalkoznia kéne és végrehajtani egy másik utasítás sorozatot "látszólag egy időben"!
Persze az output is más!
Ciklusba szervezed az if-eket? (loopba?)
A hozzászólás módosítva: Jan 27, 2017
Ha az if(feltéttel) után csak 1 utasítás szerepel, azt 3 féleképen is leírhatod:
Ha 1-nél több utasítás szerepel az if ágban akkor a { jelek közti utasítások tartoznak egybe }
És a lehetséges feltétel vizsgálatok:
Bővebben: if Bővebben: if ... else |
Bejelentkezés
Hirdetés |