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   872 / 873
(#) metabo7000 válasza tki hozzászólására (») Ápr 15, 2026 /
 
Be raktam a teljes kodot amiben a forditó kiborul (void) érték vissza hivás!
Bővebben: Link
(#) tki válasza metabo7000 hozzászólására (») Ápr 15, 2026 /
 
Valamilyen hibás magyarra fordítás eredménye ez a "(void) érték visszahívás", ilyesmi nincs abban a két hibaüzenetben, amit küldtél. Az első üzenet a lényeg, a második csak az mutatná meg, hogy hol történt a hiba. Az, hogy annak a nyílnak a hegye így, normál szövegként idemásolva az üzenetedet a "void" szóra mutat, nincs jelentősége. Ezzel kell csak foglalkozni:

"void_hivas1:15:10: error: too few arguments to function 'void test(int*, int*)'"

Azért kérdeztem, érted-e, mert szerintem meg sem próbáltad lefordítani. Ez a "too few arguments" szó szerint azt jelenti, hogy egy függvény fejében túl kevés argumentumot (paramétert) adtál meg annak hívásakor. Vagyis ez az alábbi sor nem jó a hívásnál, mert itt egyetlen paramétert adsz meg, hogy átadásra kerüljön a "test" függvénynek, nem kettőt:

test(&i);

Ha működő kódot szeretnél az általad mutatott "void test(int *a, int *b);" függvény hívására, akkor az így fog kinézni:

test(&i, &j);

Ehhez persze kell, hogy létezzen a Setup függvényben egy második integer változó is, vagyis az "int i;" definíció után kell egy "int j;" is. (A "j" betűt csak azért használtam, mert az következik az "i" után, ennek nincs jelentősége.)

Megadhatok egy működő kódot, de úgy nem biztos, hogy tanulsz belőle, el kellene tudnod mondani, hogy végül is mit szeretnél megvalósítani. Pusztán példakódnak néz ez ki, egy kísérletnek arra, hogy le tudod-e fordítani, de akkor meg jó lenne előtte még alapozni egy kicsit, különben nem fog menni. Ehhez jó pár magyar nyelvű, online, ingyenes C programozási útmutató is van az Interneten, könnyű rájuk találni. Tehát:

  1. void test(int *a, int *b)
  2. {
  3.  
  4. }
  5.  
  6. void setup()
  7. {
  8.     int i;
  9.     int j;
  10.  
  11.     test(&i, &j);
  12. }

Így le kell fordulnia, bár a két változónak illik értéket adni, mielőtt bármit is csinálunk velük, így véletlenszerű a tartalmuk, a C nyelv nem állít be számukra alapértéket, pl. nullát.
A hozzászólás módosítva: Ápr 15, 2026
(#) tki válasza metabo7000 hozzászólására (») Ápr 15, 2026 /
 
A hibaüzenetekből nem mindig derül ki a legmélyebben levő probléma. Ez a bővebben bemutatott kód elsősorban azért rossz, mert egy függvénydefiníció belsejébe beleraktál egy másik függvénydefiníciót. Ilyen szintaxis a C-ben nem létezik. Az encRotationToValue()-t a loop() fölé kell rakni önálló függvényként, és a loop()-ból meghívni a megfelelő paraméterekkel.

Valamint a cím szerint átadott változóknak is hibásan próbálod az értékét megváltoztatni (pl. "*value=" helyett "value=") - nyilván azért született a másik program, a tesztprogramod, mert nem tudtad lefordíthatóra összehozni, és ezért is kísérletezel az encRotationToValue() függvény elhelyezésével. Lásd a többi hozzászólásomban, amiket írtam.
A hozzászólás módosítva: Ápr 15, 2026
(#) metabo7000 válasza tki hozzászólására (») Ápr 15, 2026 /
 
Szoval ahogy sejtetem esp32 könyvtárban valami geb@sz probáltam v2xx és a 3xx is de arduino uno nincs probléma forditáskor!
-------
-arduino uno hibba nélkül lefordul!
-esp32 hibba nélkül lefordul!
void test(int *a, long *b)

-------
-arduino uno hibba nélkül lefordul!
-esp32 hibbát ad !
void test(int *a =12345, long *b=987654)

esp32 hibba..........

.....void_vissza3:4:40: error: invalid conversion from 'int' to 'int*' [-fpermissive]
void test(int *a =12345, long *b=987654)
^
void_vissza3:4:40: error: invalid conversion from 'int' to 'long int*' [-fpermissive]
exit status 1
invalid conversion from 'int' to 'int*' [-fpermissive]
esp32 hibba..........


  1. int i;
  2. long j;
  3. void test(int *a =12345, long *b=987654)
  4.  
  5. //void test(int *a, long *b)
  6.  
  7. {
  8.  
  9. }
  10.  
  11. void setup() {
  12.  
  13. test(&i, &j);
  14. }
  15.  
  16. void loop() {
  17.   Serial.begin(115200);
  18. test(&i, &j);
  19. Serial.print("i:");
  20. Serial.print(i);
  21. Serial.println();
  22. Serial.print("j:");
  23. Serial.print(j);
  24. Serial.println();
  25.  
  26.   delay(2000);
  27. }
(#) tki válasza metabo7000 hozzászólására (») Ápr 15, 2026 /
 
Ezt le lehet írni, ha nem is C-ben, de C++-ban, de semmi értelme abból a szempontból, amire használni akarod (a pointereknek ad alapértéket): "void test(int *a =12345, long *b=987654)" Mindegy, hogy jön rá hibaüzenet vagy sem.

Az eredeti függvénydefiníció a jó, ami most ki van kommentezve. Aztán a függvény hasában adhatsz értéket a változóknak, most már látszik, hogy ezt akarod.

  1. loop()
  2. {
  3.     int i = 0;
  4.     int j = 0;
  5.     test(&i, &j);
  6.     //...print i és j...
  7. }

  1. void test(int *a, long *b)
  2. {
  3.     *a = 12345;
  4.     *b = 987654;
  5. }

Nem folytatom.
(#) tki válasza tki hozzászólására (») Ápr 15, 2026 /
 
Bocs, csak az int-re koncentráltam, előzőleg az volt a példádban. Helyesen:

  1. int i = 0;
  2. long j = 0;


Inicializálni nem muszáj őket, csak ajánlott.
A hozzászólás módosítva: Ápr 15, 2026
(#) metabo7000 válasza tki hozzászólására (») Ápr 15, 2026 /
 
esp32 ön is megy!
Köszönöm!

MWSnap030.jpg
    
(#) tki válasza metabo7000 hozzászólására (») Ápr 18, 2026 /
 
Egyébként mivel az int típus különböző rendszereken más-más hosszúságú, inkább az itt található típusneveket érdemes használni: https://en.cppreference.com/c/header/stdint.

Többnyire átszoktak rájuk az emberek, mert egyértelmű. Pl. kis processzorokon az előjeles int és long: int16_t és int32_t, ESP32-n pedig az int már int32_t.
A hozzászólás módosítva: Ápr 18, 2026
(#) AxaGame hozzászólása Ápr 18, 2026 /
 

Arduino IDE, lib offline telepítése

Sziasztok!

Egy kis elakadásom van az Arduino IDE környezetben.
Vásároltam egy Waveshare esp32-s3-touch-lcd-7b panelt (itt a 7b-nek lenne jelentősége).
Mint utóbb kiderült, ezt manuálisan kell telepíteni az IDE környzetbe.
A Waveshare oldálán -szerintük egyértelműen- le is írják a telepítés részleteit.

Fogjuk rá, hogy megcsináltam a lib környezetet.
Viszont a Board kiválasztásánál "Waveshare ESP32S3 XIP" az istenért sem szerepel a listában.

Van valakinek valami ötlete, hogy mit rontottam el?
(#) icserny válasza AxaGame hozzászólására (») Ápr 18, 2026 /
 
Valószínűleg nem oda került a telepített bővítmény, ahol az Arduino IDE keresi.
Nálam például nem a C:\Users\'username'\AppData\Local\Arduino15\packages mappában laknak a bővítmények, hanem a C:\Users\'username'\Documents\ArduinoData\packages mappában.


Egyébként a esp32-XIP-3.1.1 offline package csomag tartalmilag ugyanaz, mint a hivatalos ESP32 Arduino Core bővítmény, csak egy "kiherélt" boards.txt van benne (ami kizárólag az Waveshare ESP32S3 XIP kártyát ajánlja fel) és van egy installed.json állomány, ami nem tudom, mit csinál.
(#) AxaGame válasza icserny hozzászólására (») Ápr 18, 2026 /
 
Mindjárt nézem az általad jelzett problémát. Több helyre is próbáltam már másolni, de amint látod, nem jártam sikerrel.

Amit én kiolvastam a szűkszavú Waveshare telepítésből, hogy a
"D:\arduinoprog\libraries" könytárba másoljam ba a zip-ből kicsomagolt "libraies" tartalmat. (Mert nekem a sketchbook "d:\arduinoprog"-ra van állítva.

De nem tudtam, hogy a zip többi részét hová kell tenni.
Keresek "packages" könytárat....
(#) AxaGame válasza icserny hozzászólására (») Ápr 18, 2026 /
 
Na ilyen hibaüzenetet nem láttam még a windows rendszerben!
Túl hosszú fájlnév????

Megpróbátam átmásolni az offline tartalmat a "C:\Users\'username'\AppData\Local\Arduino15\packages" könyvtárba, és közben ezt dobta a gép.
Ilyenkor mi van?
(#) Skori válasza AxaGame hozzászólására (») Ápr 18, 2026 /
 
Másolj Total Commanderrel, az is fog figyelmeztetni, de elvégzi a másolást ha jóváhagyod. Némely program nem tud kezelni 255 karakternél hosszabb neveket, de az NTFS filerendszer elvileg igen, ez (tapasztalatom szerint) a gyakorlatban nem szokott problémát okozni.
(#) AxaGame válasza Skori hozzászólására (») Ápr 18, 2026 /
 
Köszönöm!
Ezt a megoldást találtam ki én is.

Előtte javítottam a regedig-tel, és a gpedit-tel a beállításokat, de ezen beállítások után is hibát dobott a rendszer.
Ami még plusz érdekesség volt, hogy a gyári önkicsomagoló exe is hibát dobott.
Nem tudom, hogyan tesztelik ezt , de hagyjuk, ott van az állomány.
(#) AxaGame válasza icserny hozzászólására (») Ápr 18, 2026 / 1
 
Köszönöm a tippet!
Ez volt a megoldás, így már látja az IDE környezet ezt a panelt is a választási lehetőségek között.
(#) kameleon2 válasza tufatofu hozzászólására (») Ápr 18, 2026 / 1
 
AC1 vagy AC23 ? Mert nagyon nem mindegy, hogy mit kapcsolsz vele. Sima egyszerű Ohmikus, induktív vagy kapacitív-e a terhelés? 10db elektronikus előtétes led fényforrásnál tuti összehegged. Az sem mindegy mennyi ideig? Szerintem ha tájékozódni akarsz, akkor vagy add meg, mit szeretnél kapcsolni vele, vagy nézz át a findernet.com oldalra és keress hasonló paraméterű relét, amirő a katalógus elég egyértelműen nyilatkozik. Az sem mindegy, hogy ez a relé melyik érintkezőanyaggal van készítve? Az összteljesítmény sem mindegy. Gemini ezt írja:
Idézet:
„A kockarelék (gyakran használt T73, JQC-3FF, HF3FA típusok) érintkezőinek terhelhetősége széles skálán mozog, de a legelterjedtebb modellek jellemzői az alábbiak:
Névleges áramerősség: Általában 10A - 15A közötti AC terhelést tudnak kapcsolni 250V AC feszültségen.
Feszültség: Tipikusan 250V AC (váltóáram) vagy 30V DC (egyenáram) a névleges kapcsolási feszültségük.
Teljesítmény: Egy tipikus 10A-es kockarelé kb. 2500-2770 VA (AC) vagy 300W (DC) kapcsolására alkalmas.
Induktív terhelés: Motorok vagy tekercsek kapcsolásakor a terhelhetőség jóval alacsonyabb, gyakran javasolt legalább 5A tartalékkal számolni, vagy kisebb (pl. 2A-es) induktív terhelésre tervezni a 10A-es relét.
Minimális terhelés: A megbízható működéshez általában legalább 100mA (5V DC) terhelés szükséges.
Fontos szempontok:
AgCdO (Ezüst-kadmium-oxid): Magasabb AC terheléshez, motorokhoz, induktív körökhöz.
AgSnO2 (Ezüst-ón-oxid): Kiváló tapadásgátló tulajdonságú, ajánlott lámpa- és kapacitív terhelésekhez.
Élettartam: A maximális áram (pl. 15A) tartós kapcsolása csökkenti az érintkezők élettartamát, ezért tartós üzemre érdemes 60-70%-os terheléssel számolni.”
(#) tufatofu válasza kameleon2 hozzászólására (») Ápr 19, 2026 / 1
 
Köszönöm a részletes választ! Relénként 1db 600W-os fűtőszál lett volna kapcsolva vele, de a kész panel vonzó és praktikus mivolta ellenére, inkább megépítettem komolyabb relékből(250V30A), mint később kínlódjak vele, hogy összeragad.
(#) AxaGame hozzászólása Ápr 28, 2026 /
 

Arduino IDE, fordítási probléma

Egy nagyon egyszerű teszt progit írtam, amelyet nem képes lefordítani az Arduino IDE

  1. #include <Arduino.h>
  2. //#include <Wire.h>
  3. #include <U8g2lib.h>
  4. #include <SPI.h>
  5. #include <ESP32Time.h>      // idő struktúra kezeléséhez tartozó header lsd: https://www.theelectronics.co.in/2022/04/how-to-use-internal-rtc-of...2.html
  6.  
  7. //
  8. //U8G2_SSD1309_128X64_NONAME2_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);
  9.  
  10. //U8G2_SSD1309_128X64_NONAME2_F_4W_HW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);
  11. U8G2_SSD1309_128X64_NONAME2_F_4W_HW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* dc=*/ 9, /* reset=*/ 8);
  12.  
  13.  
  14. //ESP32Time rtc;
  15. ESP32Time rtc(3600);  // offset in seconds GMT+1
  16.  
  17.  
  18. void setup() {
  19.   u8g2.begin();
  20.  
  21.   rtc.setTime(40, 59, 22, 27, 4, 2026);  //UTC szerint idő beállítása: 2026.04.27 22:59:40
  22.   //rtc.setTime(1609459200);  // 1st Jan 2021 00:00:00
  23.   //rtc.offset = 7200; // change offset value
  24.  
  25.     /*---------set with NTP---------------*/
  26.   //  configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
  27.   //  struct tm timeinfo;
  28.   //  if (getLocalTime(&timeinfo)){
  29.   //    rtc.setTimeStruct(timeinfo);
  30.   //  }
  31.  
  32. }
  33.  
  34. void loop() {
  35.   char cTmpString[128]= {'\0'};
  36.  
  37.   u8g2.clearBuffer();
  38.   u8g2.setFont(u8g2_font_7x14B_tr);
  39.   u8g2.drawStr(0,10, "Hello");
  40.   u8g2.setFont(u8g2_font_9x18B_tr);
  41.   u8g2.drawStr(20,27, "Tudas?");
  42.   u8g2.sendBuffer();
  43.   delay(2000);
  44.  
  45.   sprintf( cTmpString, "%2d:%2d:%2d", rtc.getHour(true), rtc.getMinute(), rtc.getSecond() );
  46.   u8g2.drawStr(30,50, cTmpString);
  47.   u8g2.sendBuffer();
  48.   delay(5000);
  49.  
  50. }


A uP ESP32-S3 lenne 44 lábú panel, de azt hiszem ez mindegy is ebben a helyzetben.

A fordító pedig ezt üzeni:
Idézet:
„In file included from d:\arduinoprog\libraries\U8g2\src\U8x8lib.cpp:52:
d:\arduinoprog\libraries\Wire\src/Wire.h:116:8: error: 'void TwoWire::onReceive(void (*)(int))' marked 'override', but does not override
116 | void onReceive(void (*)(int)) override;
| ^~~~~~~~~
d:\arduinoprog\libraries\Wire\src/Wire.h:117:8: error: 'void TwoWire::onRequest(void (*)())' marked 'override', but does not override
117 | void onRequest(void (*)(void)) override;
| ^~~~~~~~~
Multiple libraries were found for "SPI.h"
Used: D:\arduinoprog\libraries\SPI
Not used: C:\Users\szujo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.8\libraries\SPI
Multiple libraries were found for "Wire.h"
Used: D:\arduinoprog\libraries\Wire
Not used: C:\Users\szujo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.8\libraries\Wire
exit status 1

Compilation error: exit status 1”


Másnak lefordul ez a kis program, és nálam vesztek össze könyvtárak?
(#) Josi777 válasza AxaGame hozzászólására (») Ápr 28, 2026 / 1
 
Nálam hibátlanul lefordult ESP32-S3 és ESP8266 beállítás esetén is.
Az U82lib 2.34.22, más verzióval nem próbáltam
A hozzászólás módosítva: Ápr 28, 2026
(#) AxaGame válasza Josi777 hozzászólására (») Ápr 28, 2026 /
 
Köszönöm a visszajelzést!

Előzőleg telepítettem egy 7" kijelzőhöz tartozó lib sorozatot kézzel. Gyanítom, hogy ráfaragtam, mert valami összekuszálódott.
Igyekszem kijavítani a rendszert.

Most visszatettem a "régi" könyvtárak elérési lehetőséget, és így már nekem is lefordul durva piros üzenet nélkül.
Majd lesz valami később a 7"-os kijelzőmmel.
(#) AxaGame hozzászólása Ápr 28, 2026 /
 

Arduino telepítési környezet

Sziasztok!

Előre jelezném, hogy amatőr arduino-s vagyok, s tanácsot kérek, azzal kapcsolatban, hogy hogyan érdemes kialakítani az IDE környezetét, könyvtárait.
Mostnában többször is szaladtam pofonba azzal kapcsolatban, hogy egy korábban elkészített, jól működő programot nem tudtam fejleszteni, mert valami könytár frissült az arduino rendszerben, és a változás miatt nem tudtam lefordítani.
Ehhez pedig még adódik, hogy bizonyos könyvtárakat (tft kijelzők) adott panelhez kell konfigurálni.

Szóval várom a javaslatokat, ötleteket, a "ki hogyan szokta" módszereket a beállításokkal kapcsolatban!
(#) pipi válasza AxaGame hozzászólására (») Ápr 28, 2026 / 1
 
Szerintem döntsd el melyik spi, wire lib kell, a másikat töröld le vagy mozgasd el.
Én ugy látom pont forditva kellene mint az arduino gondolja
(#) AxaGame válasza pipi hozzászólására (») Ápr 28, 2026 /
 
Igen, ez történt. Így már nekem is lefordult.

A probléma az, hogy így valószínűleg a másik panel programja nem fog lefordulni...

Ezért kérdeztem rá a fejlesztői környezet rugalmas kialakítására.
(#) lalca válasza AxaGame hozzászólására (») Ápr 28, 2026 / 1
 
Ha érzel magadban elég "erőt", ajánlom tanulmányozni a VSCode+PlatformIO -t.
Ott minden programhoz van lib mappa ahova bemásolhatod a könyvtárakat, mindegyikhez
külön-külön. Én nyugdíjasként kezdtem el, megtanulható. Sokkal gyorsabb a fordítás.
Ha maradsz az arduino IDE-nél, ajánlom letölteni a portable (.zip) programot,
kicsomagolás után létre kell hozni egy portable nevű mappát, ide fog rakni mindent,
a sketchbook-ot is ide kell irányítani. Így nem irkál a windowsba, külön partícióra is rakhatod.
Amúgy pedig a program (.ino) mappában csinálsz egy library mappát, ide másolod a könyvtárakat,
a programban pedig ide hivatkozol. Persze ezt kézzel kell megcsinálni, nem automatikusan
telepítgetni a könyvtárakat.
A hozzászólás módosítva: Ápr 28, 2026
(#) AxaGame válasza lalca hozzászólására (») Ápr 28, 2026 /
 
Köszönöm a tippeket!
Időhiány miatt egyenlőre maradok az IDE panelen, s próbálok játszani a könytárakkal.
Utána ki fogom próbálni ezt az IO platformot is.
(#) tufatofu válasza pipi hozzászólására (») Ápr 28, 2026 /
 
Én csinálok minden projektnek egy portable IDE-t, amiben csak annak a "szemetjei"vannak. Így könnyű gyomlálni, módosítani, mert egy helyen van minden.
(#) metabo7000 válasza AxaGame hozzászólására (») Ápr 28, 2026 /
 
esp32 3.xx tele vanak új api hivásokal ezért régi könytárak nem müködnek vele de ha le is fordul akoris hadwerben is lesznek problémák ami nem megy egyszerüen és kész!Annyi hogy 2.016 ted vissza és szépen megoldodnak a hibák 90% legalább!Akinek van tengernyi ideje az majd megfejti egyszer (diákok) pl vagy akik egésznap ezt búják!
(#) metabo7000 válasza AxaGame hozzászólására (») Ápr 28, 2026 /
 
Felhasználó utvonalba ékezetes könytár név van pl! arduino ide még a pause utvonal vagy fájlnévben sem tudja kezelni ezt már javithatnák bene elmult pár év a létezése ota!
A hozzászólás módosítva: Ápr 28, 2026
(#) Josi777 válasza AxaGame hozzászólására (») Ápr 29, 2026 /
 
Én is belefutottam korábban ebbe a problémába. Azt találtam ki, hogy minden esetben az #include sor után megjegyzésben feltüntetem a használt könyvtár elérési útját, esetleg verziószámát.
(#) kameleon2 válasza AxaGame hozzászólására (») Ápr 30, 2026 /
 
Nagyon melegen tudom ajánlani a WOKWI-t ilyen kérdések esetén. Én sok mindent, mielőtt megépítem, leprogramozom, először itt futtatom, azán ha stabil akor a sketchet csak copy-paste segítségével átemelem az IDE-be. Gemini is adott támpontot a kereséshez:
A kódodban alapvetően két technikai probléma látszik, amelyek miatt az óra kijelzése nem lesz megfelelő vagy villódzni fog a képernyő.

Íme a legfontosabb javítandó pontok:

1. Az SPI inicializálása (Konstruktor hiba)
A HW SPI (Hardware SPI) használatakor az ESP32-nél a kódodban most ez szerepel:
U8G2_SSD1309_128X64_NONAME2_F_4W_HW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* dc=*/ 9, /* reset=*/ 8);

A probléma: Hiányzik a CS (Chip Select) pin megadása. A hardveres SPI-nél az U8g2 könyvtárnak tudnia kell, melyik lábon választja ki a kijelzőt. Általában ez így néz ki:
u8g2(orientáció, cs, dc, [reset])

Próbáld meg így (ha a CS lábad a 10-es):
U8G2_SSD1309_128X64_NONAME2_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);
(Megjegyzés: Hardveres SPI esetén a Clock és Data lábakat a rendszer alapból tudja, azokat nem kell a konstruktorban felsorolni, ha az alapértelmezett lábakat használod.)
Következő: »»   872 / 873
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