Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   138 / 851
(#) erdeidominik1999 válasza fkx hozzászólására (») Júl 18, 2015 /
 
Itt van a teljes, csak nem voltam itthon, és csak mobilról tudtam...
  1. void keres(char* buff){
  2. char *kijovo;
  3. char *pch;
  4. pch = strstr (buff,"asd");
  5. if (pch){ pch=strchr(pch+1,'=');}
  6. if (pch){pch++;
  7. Serial.println(pch); //itt jó érték jön ki, csak le kell szedni a végéről a többit...
  8. while (pch&&(*pch)&&(*pch!='&')&&(*pch!=' ')){ //itt írtam át, mert véletlen =! -t írtál
  9.    *kijovo = *pch;
  10.    kijovo++;
  11.    pch++;
  12. }//end while
  13. *kijovo=0;
  14. Serial.println(kijovo); //itt a kijovo értéke az eredeti buff értékével lesz egyenlő, csak az első 3 karakter hiányzik
  15. }
  16. }//end fv

Odaírtam a kommenteket, azt nem tudom, hogy a kijovobe hogyan kerül az egész buff, mert a pch-ban a jó értékek vannak, ott nincs rajta az eleje...
(#) fkx válasza erdeidominik1999 hozzászólására (») Júl 18, 2015 /
 
Nos, amit írtál az tobb sebböl vérzik.
- Kijovo valtozodhoz nem foglalsz memoriát, mert az nem tomb csak egy pointer, nem véletlenul írtam két paramlterrel a fuggvényt. Az a csoda, hogy nem fagy le így.
- Ráadásul ez a változó csaak a fuggvényrn belul létezik, a fuggvlny végén megsemmisul.
- A kiirást nem a fuggvénybe kell tenni mert ott más a pointer értéke hiszem ott m indig a legutolso karakterre mutat, ami nulla. Tehát eloszor meghivod a fuggvényt, két tomb paramterrel, utána kiírás.
(#) erdeidominik1999 válasza fkx hozzászólására (») Júl 18, 2015 /
 
Na visszaírtam két paraméterrel, de most sem jó, mert a a fv meghívása után a második paraméter helyén lévő változót kiiratom, annak az értéke semmi lesz. Azt megnéztem, hogy a while pont annyiszof fut, ahányszor kell, csak az új változóba pakolásnál van valami gond. Itt a jelenlegi kód:
  1. void keres(char* buff,char *dest){  //a dest tömb-ben el kell férnie az eredménynek
  2. char *pch;
  3. pch = strstr (buff,"asd");
  4. if (pch){ pch=strchr(pch+1,'=');}
  5. if (pch){ pch++;
  6. while (pch && (*pch) && (*pch != '&')  &&  (*pch != ' ') ){
  7.    *dest = *pch;
  8.    dest++;
  9.    pch++;
  10. }//end while
  11. *dest=0;
  12. }
  13. }//end fv

Előre is köszi!
(#) fkx válasza erdeidominik1999 hozzászólására (») Júl 18, 2015 /
 
Méggyszer nem fáradok azzal, hogy szóljak, hogy ez csak egy kis részlet...
(#) erdeidominik1999 válasza fkx hozzászólására (») Júl 18, 2015 /
 
Nem értem, hogy hogy csak egy részlet? Kell az egész progi?
  1. void setup() {
  2.  Serial.begin(250000);
  3.  
  4.   char adat[]="Ebben most adat van asg=123&asd=234 most";
  5.   Serial.println(adat);
  6.   char* kijovo;
  7.  
  8. keres(adat,kijovo);
  9. Serial.println(adat);
  10.     }
  11.  
  12.  
  13. void loop() {
  14.   // put your main code here, to run repeatedly:
  15.  
  16. }
  17.  
  18. void keres(char* buff,char *dest){  //a dest tömb-ben el kell férnie az eredménynek
  19. char *pch;
  20. pch = strstr (buff,"asd");
  21. if (pch){ pch=strchr(pch+1,'=');}
  22. if (pch){ pch++;
  23. while (pch && (*pch) && (*pch != '&')  &&  (*pch != ' ') ){
  24.    *dest = *pch;
  25.    dest++;
  26.    pch++;
  27. }//end while
  28. *dest=0;
  29. }
  30. }//end fv

Ezzel próbálgatom.
(#) fkx válasza erdeidominik1999 hozzászólására (») Júl 18, 2015 /
 
Mert pont a hibás részt nem küldted el az előbb.
nem char* kijovo
hanem tömb kell
char kijovo[40];

és Serial.println(adat); helyett Serial.println(kijovo); vagy mindkettö....
(#) erdeidominik1999 válasza fkx hozzászólására (») Júl 18, 2015 /
 
És tényleg, nagyon köszönöm, ezer hála, a serial.println az véletlen maradt benne... Nagyon köszönöm még egyszer, ha valamiben még elakadok, jelentkezem.
(#) kapu48 válasza fkx hozzászólására (») Júl 18, 2015 /
 
Ezt így sosem érti meg, ha minden egyes zárójelet a szájába rágsz!
Hagyd már kicsit gondolkodni!

(#) erdeidominik1999 hozzászólása Júl 19, 2015 /
 
Újabb hibába ütköztem:
  1. char ertek[30];
  2.         keres(clientline,ertek,"ev");
  3.         if(ertek){
  4.           Serial.println("MOST");
  5.         Serial.println(ertek);
  6.         }

Az if(ertek) mindig megy, ha az érték semmi, akkor is, próbáltam if(ertek!=0) illetve if(ertek!="") is.
(#) icserny válasza erdeidominik1999 hozzászólására (») Júl 19, 2015 /
 
Idézet:
„Az if(ertek) mindig megy, ha az érték semmi, akkor is”
Az "ertek" egy tömb címe, ennélfogva mindig nullától különböző. Tömböt nem lehet if utasítással vizsgálni, csak egy tömbelemet.
(#) erdeidominik1999 válasza icserny hozzászólására (») Júl 19, 2015 /
 
Megoldottam, a kerest void-ból booleanra változtattam, és ha if(pch) akkor return true. Viszont kialakult még egy probléma: hogyan tudom megnézni, hogy egy char tömb egyenlő egy egy char*-al?
(#) fkx válasza erdeidominik1999 hozzászólására (») Júl 19, 2015 /
 
strcmp()
(#) erdeidominik1999 válasza fkx hozzászólására (») Júl 19, 2015 /
 
Köszi szépen, jó lett, még annyit, nem egészen témába vág, de hogyan tudok arduinoval tranzisztorral 24v váltóáramot kapcsolni? Max 600ma-t.
(#) Kera_Will válasza erdeidominik1999 hozzászólására (») Júl 19, 2015 /
 
Tranzisztorral nehéz lesz váltakozó áramot kapcsolni.
Oda Tirisztor vagy TRIAC vagy relé kell.
Optocsatolós vagy relés leválasztás nélkül el se kezdjél bármit is az ardu-k portjaira kötni ha váltakozó feszültséget szeretnél kapcsolgatni.
Esetleg olyan relével ami 5-12 voltról meghúz és aztán az érintkezői "bármit" be/ki tudnak kapcsolni.
Ha elég a relés mechanikus megoldás akkor használjál olyat.
Ha mechanikus mozgás nélkül szeretnél akkor triak / tirisztor.
A hozzászólás módosítva: Júl 19, 2015
(#) Kera_Will válasza erdeidominik1999 hozzászólására (») Júl 19, 2015 /
 
Relék pl.: hestoreban is vannak kis 5V pár mA fogyasztású relék
A maximálisan kapcsolható áram és feszültség adatlapon és a házán is rajta szokott lenni.
E felett érintkezők károsodhatnak.
Ezek elé kell rakni 1 tranzisztort meg egy soros bázis áram korlátozót ha a relé többet venne fel mint a port 5-15 mA terhelhetősége.
Relé gyári adatlapja vagy külső felirata tartalmazhatja a tekercs ellenállását ebből számolható áramfelvétel,vagy ellrnállás méréssel is megállapítható.
Relével párhuzamos Lenz törvényéből adódó indukciós visszarúgásokat levezető diódát nem szabad kihagyni!
A hozzászólás módosítva: Júl 19, 2015
(#) Kera_Will válasza erdeidominik1999 hozzászólására (») Júl 19, 2015 /
 
Tirisztorok / Triakok : Hestoreban is van pár tipus
Optocsatolók: HEstore optocsatolók
Ezekből építhető vezérlésekkel a HE oldal más - más topikjaiban találhatsz megoldásokat.
(#) erdeidominik1999 válasza Kera_Will hozzászólására (») Júl 20, 2015 /
 
Rendben, köszi! A másik problémám:
  1. for(int i=0;i<5;i++){
  2.         char hitelesites[20];
  3.         char buff[20];
  4.         strcat(hitelesites,"Cookie: a=");
  5.         char* hitelesites2=itoa(authList[i],buff,10);
  6.         strcat(hitelesites,hitelesites2);
  7.         Serial.println(hitelesites);
  8.         Serial.println(hitelesites2);
  9.         if (strstr(clientline,hitelesites) != 0){
  10.          
  11.         auth=2;  
  12.         }
  13.         hitelesites="";
  14.         }

Ez a webszerverem hitelesítése, de így nem jó, mert hibát ír, az lenne a lényeg, hogy a hitelesites változó értéke Cookie: a= és az authList[i] legyen. Az authList 5 elemű, azért csinálja 5-ször.
(#) fkx válasza erdeidominik1999 hozzászólására (») Júl 20, 2015 /
 
Tudod egyszer anyukám skype-n hív, hogy valami gondja van a PC-jével:
- És mi a probléma? - kérdeztem
- Hát kíírt valamit, és azóta nem megy ez a program.
- És mit írt ki?
- Hát azt nem tudom.
- Akkor így kicsit nehezebb, de megyek megnézem....

Csahogy anyukám a 80-hoz közelít, így töle az is szép, hogy bzitonsággal használ egy PC-t netezésre, de egy, a számítástechnika korába született, technikai érdeklődésü fiataltól én azért sokkal többet várnék. Remélem rájössz miért irtam le ezt neked, és nem kell magyarázkodnom.
(#) fkx válasza kapu48 hozzászólására (») Júl 20, 2015 /
 
Jogos, csak néha nehezemre esik, sőt: szinte fáj. De hagyom.
(#) erdeidominik1999 válasza fkx hozzászólására (») Júl 20, 2015 /
 
Értem, hogy miért írtad, de azt nem értem, hogy egy ilyen dologhoz, mert nem értek a char változókhoz, miért kell a komplett programrész, annyi a lényeg, hogy egy char* változó értéke legyen: "Cookie: a=" és utána az authList egy elem. Tehát "Cookie: a= 123". Majd a változó nullázódjon le. Egyébként ha arra gondolsz, hogy mi a hiba, az, hogy nem tudom összehozni ezt, és ahogyan próbálkozom sehogyan nem stimmelnek a változók fajtái és ezt írja hibának...
(#) ALI hozzászólása Júl 20, 2015 /
 
Sziasztok.
Vettem egy UNO-t és nem telepíti a gép mi lehet vele a gond?
(#) erdeidominik1999 válasza ALI hozzászólására (») Júl 20, 2015 /
 
Ilyen kínai?
(#) ALI válasza erdeidominik1999 hozzászólására (») Júl 20, 2015 /
 
Én nem kínából rendeltem de gondolom igen.
(#) erdeidominik1999 válasza ALI hozzászólására (») Júl 20, 2015 /
 
Valószínű, hogy a gép nem talál hozzá drivert, le kéne tölteni hozzá, de hogy hol lehet találni? Próbáld meg beírni googlebe, hogy arduino uno driver
(#) Kovidivi válasza erdeidominik1999 hozzászólására (») Júl 20, 2015 /
 
Az a baj, hogy a programozzunk c nyelven könyvet nem forgatod eleget. Onnan neked a poineteres rész kellene, legfőképpen megérteni. Aztán a változók típusait átnézni. Majd ezek után semmi olyan függvényt nem szabadna felhasználni, amit nem értesz, mert csak katyvasz lesz az egészből. Beleugrottál a mélyvízbe, de még fürdőruha sincs rajtad! Lassíts le kicsit, ne a cél vezéreljen, hanem a dolgok megértése... Próbálgatni kellene a pointeres dolgokat, mikor mit kapsz, mi is az egyáltalán amit látsz, és akkor nem fogsz egy pointer címét if-be beleírni, mert az mindig igaz... Codeblocks programot ajánlom, azzal tudod a C rejtelmeit próbálgatni Arduino lap nélkül is.
(#) ALI válasza erdeidominik1999 hozzászólására (») Júl 20, 2015 /
 
Köszi sikerült találnom hozzá. És működik
Hátha kell valakinek itt találtam. Google: CH340+XP+Driver
(#) andykaaa hozzászólása Júl 22, 2015 /
 
Segitsegre van szukseg
Talaltam Atmega1284-re 20MHz-es bootloadert, mukodik is (ahogy elnezem az LCD-n), csak az infra iranyitast nem kameli.
Ugyanaz a progi feltoltve 16MHz-es IC-re primaul mukszi, de 20MHz-en mar nem.
Nezegettem az "IRremoteInt.h" nevu fajlba van valami az orajellel kapcsolatba
Idézet:
„#ifdef F_CPU
#define SYSCLOCK F_CPU // main Arduino clock
#else
#define SYSCLOCK 16000000 // main Arduino clock
#endif”

de sajnos amennyire en ertek hozza az nulla a kobon.
Megprobaltam, azt a 16 milliot atirtam 20 milliora de akkor sem mukszi.
Ezert, a hozzaertokhoz szolok, ha van valami 5letjuk.
Mellekelem az "IRremote" library-t.
A hozzászólás módosítva: Júl 22, 2015
(#) kapu48 válasza andykaaa hozzászólására (») Júl 22, 2015 /
 
Tegyél be az IRremoteInt.h elejére 1 ilyen sort:
#define F_CPU 20000000 // main Arduino clock

És ha reklamál, hogy már duplán van, definiálva van az” F_CPU”?
Akkor a hibaüzenetben megtalálod, hogy hól és mire van állítva, ha ott nem 20000000-van?
Akkor az egész programod időzítése rosszul van számolva!
(#) andykaaa válasza kapu48 hozzászólására (») Júl 22, 2015 /
 
Nincs hibauzenet leforditaskor, de majd megprobalom elesbe is, feltoltve hogy megy-e
(#) erdeidominik1999 hozzászólása Júl 26, 2015 /
 
Sziasztok! Az lenne a kérdésem, hogy hogyan tudnék 230v ac-t mérni arduinóval? Ha fogok egy 230-6v trafót, meg egy diódahidat, az úgy jó lenne? Előre is köszi!
Következő: »»   138 / 851
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem