Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- laskr99: DFI és DFI Lanparty gyűjteményem
- eBay-es kütyük kis pénzért
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Ágymatrac keresési kálvária
- gban: Ingyen kellene, de tegnapra
- sh4d0w: Kalózkodás. Kalózkodás?
-
LOGOUT
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Janos250
őstag
Használd ekkold által írtakat. Az jó megoldás, én csak annyit fűznék hozzá, hogy ha az eredeti programhoz jobban passzoló neveket használsz, akkor talán kevésbé keveredsz bele.
Azért ez a téma lehet, hogy megér egy bővebb kifejtést, ezért írtam egy kis tutorialszerű programot.#include <iostream> // ha a std::cout-ot akarjuk hasznalni, egyebkent torlendovoid setup() {delay(1000);Serial.begin(115200) ;delay(1000);/*A C++-ban a ("C tipusu") tomb neve constans pointer.Ugyanugy hasznalhatjuk oket egymas helyett is, azzal a megkotessel,hogy a tomb neve konstans, nem valtoztathatjuk meg.Ezert nem lehet egyenlosegjel bal oldalan hasznalni.Viszont, ha helyette egy tenyleges pointert hasznalunk, az megvaltoztathato,azaz egy masik tomb nevet mint pointert adhatjuk neki.Mas modszereket is hasznalhatunk ennek megkerulesere, mint peldaula std::array. Ez mar szereelhet erteekado utasitas bal oldalan.Vagy a for each-csel valo ertekadas, esetleg a std::vectorMind kozul a leggyorsabb a sima tomb*/Serial.println ("ha egy index van:");int* xy ;int xy_array[9] = {1,0,0, 0,1,0, 0,0,1};int xy2_array[9] = {11,12,13, 21,22,23, 31,32,33};Serial.println ("xy = xy_array:");xy = xy_array;for (int i = 0; i <9 ; i++){Serial.print (xy[i]); Serial.print (" ");};Serial.println ();Serial.println ("xy = xy2_array:");xy = xy2_array;for (int i = 0; i <9 ; i++){Serial.print (xy[i]); Serial.print (" ");};Serial.println ();// nyomtatja:/*ha egy index van:xy = xy_array:1 0 0 0 1 0 0 0 1xy = xy2_array:11 12 13 21 22 23 31 32 33*///he több index van akkor typedef hasznalando//typedef <data_type> <alias_name> [<size>]typedef int egyindexes_arr[3]; // ez egy 3 elemű vektor tipusegyindexes_arr* enMatrixom ;// harom elemu vektorra mutato pointer,// melynek az elemei szinten harom elemu vektorok// Az alabbiak ugyanigy, csak tombok.// Ne feledd tomb = pointer!egyindexes_arr enMatrixom1[3] = {{1,0,0}, {0,1,0}, {0,0,1}} ;egyindexes_arr enMatrixom2[3] = {{11,12,13}, {21,22,23}, {31,32,33}} ;Serial.println ("eredeti ketindexes: ");for (int i = 0; i <3 ; i++){for (int j = 0; j <3 ; j++){Serial.print ( enMatrixom1[i][j] ); Serial.print (" ");}; // end jSerial.println ();}; // end iSerial.println ();/*eredeti ketindexes:1 0 00 1 00 0 1*/Serial.println ("enMatrixom = enMatrixom1 utan:");enMatrixom = enMatrixom1 ;for (int i = 0; i <3 ; i++){for (int j = 0; j <3 ; j++){Serial.print ( enMatrixom[i][j] ); Serial.print (" ");}; // end jSerial.println ();}; // end iSerial.println ();/*enMatrixom = enMatrixom1 utan:1 0 00 1 00 0 1*/Serial.println ("enMatrixom = enMatrixom2 utan:");enMatrixom = enMatrixom2 ;for (int i = 0; i <3 ; i++){for (int j = 0; j <3 ; j++){Serial.print ( enMatrixom[i][j] ); Serial.print (" ");}; // end jSerial.println ();}; // end iSerial.println ();/*enMatrixom = enMatrixom2 utan:11 12 1321 22 2331 32 33*/// Hasznalhatunk mas megoldasokat is, de azok nem biztos, hogy a régi lapokon mennek,// csak a korszerűbbeken, de ESP32-n biztosan(kipróbáltam)// peldaul a std::array, vagy a for each hasznalata// a std::cout helyett termeszetesen hasnalhatunk barmilyen mas nyomtato utasitast isstd::array<int, 9> std_arr_1 = {1,0,0, 0,1,0, 0,0,1};std::array<int, 9> std_arr_2 = {11,12,13, 21,22,23, 31,32,33};Serial.println ("eredeti std_arr_1 :");for (int i = 0; i <9 ; i++){Serial.print (std_arr_1[i]); Serial.print (" ");};Serial.println ();std_arr_1 = std_arr_2; // igy hasznalhato az ertekadas,//egyebkent meg ugyanugy hasznalhatjuk, mint a C tipusu tombot.Serial.println ("std_arr_1 = std_arr_2 utan :");for (int i = 0; i <9 ; i++){Serial.print (std_arr_1[i]); Serial.print (" ");};Serial.println ();/*eredeti std_arr_1 :1 0 0 0 1 0 0 0 1std_arr_1 = std_arr_2 utan :11 12 13 21 22 23 31 32 33*/Serial.println ("a korabban megadott xy tomb elemeit lecserésljük a felsorolasban szereplokre :");Serial.println ("lecsereles elott:");// kinyomtatjukfor ( auto tombEgyEleme : xy_array ) {std::cout << tombEgyEleme << ' ';}std::cout << '\n';// lecsereljuk:uint8_t j = 0;for ( auto tombEgyEleme : {11,12,13, 21,22,23, 31,32,33} ) {xy_array[j++] = tombEgyEleme;}Serial.println ("lecsereles utan:");// kinyomtatjukfor ( auto tombEgyEleme : xy_array ) {std::cout << tombEgyEleme << ' ';}std::cout << '\n';/*a korabban megadott xy tomb elemeit lecserésljük a felsorolasban szereplokre :lecsereles elott:1 0 0 0 1 0 0 0 1lecsereles utan:11 12 13 21 22 23 31 32 33*/} ; // end setupvoid loop() {// put your main code here, to run repeatedly:}
Új hozzászólás Aktív témák
- Avast! Antivirus topic
- Futás, futópályák
- VR topik (Oculus Rift, stb.)
- Milyen okostelefont vegyek?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Spórolós topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Építő/felújító topik
- Bundle topik
- Otthoni hálózat és internet megosztás
- További aktív témák...
- 170 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- magyar billentyűzet - 165 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- 164 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- Microsoft Surface Hub 2s - Interaktiv 4K monitor/ All in one PC - I5 8. generációs - Piaci ár alatt
- Benq - LU951- 5000 Ansi Lézer projektor - Piaci ár alatt
- Bomba ár! Lenovo ThinkPad T470s - i5-6GEN I 8GB I 256GB SSD I 14" FHD I Cam I W10 I Garancia!
- BESZÁMÍTÁS! ASRock B450M R5 3500X 16GB DDR4 512GB SSD RTX 3050 8GB GameMax STORM Black EVGA 600W
- BESZÁMÍTÁS! Gigabyte Z37 i5 9600K 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA ADATA 600W
- GYÖNYÖRŰ iPhone 12 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3854, 100% Akkumulátor
- Samsung Galaxy A80 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold
