- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Magga: PLEX: multimédia az egész lakásban
- Tomasz72: Ventilátor upgrade
- sziku69: Fűzzük össze a szavakat :)
- Elektromos rásegítésű kerékpárok
- Chosen: Canon 5D II - portrézás 2025-ben
- Szevam: „Rendszerleállás” – egy AI képzeletbeli halál utáni élménye
- bambano: Bambanő háza tája
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
-
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
válasz
DigitXT #11889 üzenetére
"az Arduino-féle String implementáció egy nagy sz"
"nem igazán ajánlott használni."
Így igaz. A nagybetűs String valóban gyengécske, de azt is mondjuk meg, hogy mit érdemes használni:
a kisbetűs string viszont jó.
Ismét mondom, hogy nem ötegapám UNO, NANO, MEGA lapja az, amit érdemes használni, hanem valami korszerűbb,
ami - mondhatni - nem drágább, de sokkal többet tud, és az UNO-ra, stb.-re írt programok símán áttehetők rá,
ha nincs benne valami nagyon hardware közeli dolog.
Mint már többször mondtam, én mostanság az ESP32-t használom.
5 dollárért megvehető postával együtt.
https://www.banggood.com/Geekcreit-30-Pin-ESP32-Development-Board-WiFibluetooth-Ultra-Low-Power-Consumption-Dual-Cores-ESP-32-ESP-32S-Board-p-1461896.html?rmmds=search&cur_warehouse=CN
Vagy az UNO mintájára:
https://www.banggood.com/LILYGO-TTGO-ESP32-WiFi-bluetooth-Board-4MB-Flash-UNO-D1-R32-Development-Board-p-1163967.html?rmmds=search&cur_warehouse=CN
Megnéztem a régi Arduino String osztályát. Bizony elég sok tagfüggvény nincs benne, ami a C++ -ban benne van. Példának az appendet vettem,
hogy a részletesebb infók netről megtekinthetők legyenek.
Ha már itt tartottam, még pár - szintén netről szedett - példát is beleraktam.
A mostani C++11 számos olyan dolgot is tartalmaz, amit az ősrégiek nem.
Használhatjuk az alábbiakat:
Ezek közül is raktam be példákat. Hogy miért jobb pl. az array, achrono
, athread
használata? Mert ez szabványos, bárhol ugyanígy fut, nem olyasmit tanulunk meg, amit máshol nem tudunk használni.
Íme:
Eredetileg ez egyetlen program lenne, de PH szerkesztője valamiért darabokra szedte.//ESP32 Dev Module
void setup() {
//http://www.cplusplus.com/reference/string/string/append/
std::string str;
std::string str2="Writing ";
std::string str3="print 10 and then 5 more";
// used in the same order as described above:
str.append(str2); // "Writing "
str.append(str3,6,3); // "10 "
str.append("dots are cool",5); // "dots "
str.append("here: "); // "here: "
str.append(10u,'.'); // ".........."
str.append(str3.begin()+8,str3.end()); // " and then 5 more"
// str.append<int>(5,0x2E); // "....."
std::cout << str << '\n';
/*
//A String (nagy S) a regi Arduino string kezelese
// ebben nincs append, forditasi hibat jelez
String xstr;
String xstr2="Writing ";
String xstr3="print 10 and then 5 more";
// used in the same order as described above:
xstr.append(xstr2); // "Writing "
xstr.append(xstr3,6,3); // "10 "
xstr.append("dots are cool",5); // "dots "
xstr.append("here: "); // "here: "
xstr.append(10u,'.'); // ".........."
xstr.append(xstr3.begin()+8,xstr3.end()); // " and then 5 more"
*/
//Ez is egy netrol vett pelda
//https://stackoverflow.com/questions/2066184/how-to-use-c-string-streams-to-append-int
std::stringstream stream("Something ");
stream.seekp(0, std::ios::end);
stream << 12345;
std::cout << stream.str();
// C++11 array
//https://en.cppreference.com/w/cpp/container/array
// construction uses aggregate initialization
std::array<int, 3> a1{ {1, 2, 3} }; // double-braces required in C++11 prior to the CWG 1270 revision
// (not needed in C++11 after the revision and in C++14 and beyond)
std::array<int, 3> a2 = {1, 2, 3}; // never required after =
std::array<std::string, 2> a3 = { std::string("a"), "b" };
// container operations are supported
std::sort(a1.begin(), a1.end());
std::reverse_copy(a2.begin(), a2.end(),
std::ostream_iterator<int>(std::cout, " "));
std::cout << '\n';
// ranged for loop is supported
for(const auto& s: a3)
std::cout << s << ' ';
// C++11 chrono
//https://en.cppreference.com/w/cpp/chrono
auto start = std::chrono::system_clock::now();
std::cout << "f(42) = " << fibonacci(42) << '\n';
auto end = std::chrono::system_clock::now();
std::chrono::duration<double> elapsed_seconds = end-start;
std::time_t end_time = std::chrono::system_clock::to_time_t(end);
std::cout << "finished computation at " << std::ctime(&end_time)
<< "elapsed time: " << elapsed_seconds.count() << "s\n";
// C++11 thread
//https://en.cppreference.com/w/cpp/thread
//https://thispointer.com/c-11-multithreading-part-1-three-different-ways-to-create-threads/
std::thread threadObj1(thread_function);
std::thread threadObj2(thread_function);
if(threadObj1.get_id() != threadObj2.get_id())
std::cout<<"Both Threads have different IDs"<<std::endl;
std::cout<<"From Main Thread :: ID of Thread 1 = "<<threadObj1.get_id()<<std::endl;
std::cout<<"From Main Thread :: ID of Thread 2 = "<<threadObj2.get_id()<<std::endl;
threadObj1.join();
threadObj2.join();
}
void loop() {
}
// mert a chrono minta hasznalja
long fibonacci(unsigned n)
{
if (n < 2) return n;
return fibonacci(n-1) + fibonacci(n-2);
}
//// mert a thread minta hasznalja
void thread_function()
{
std::cout<<"Inside Thread :: ID = "<<std::this_thread::get_id()<<std::endl;
}
Új hozzászólás Aktív témák
Hirdetés
- Mars Gaming ML-LCD240 2x ARGB 120mm FDB Fan LCD Display (Alkatrésznek) INGYEN FOXPOST
- CORSAIR K55 RGB PRO XT (Kartámasz nélküli) INGYEN FOXPOST
- Szép! Dell Latitude 7430 ÜTÉSÁLLÓ! Üzleti Profi Ultrabook 14" -60% i5-1245U 16/512 FHD IRIS Xe
- Philips 32E1N1800LA/00 4K monitor
- LG UltraGear 27GS75Q-B (IPS/2K/180hz)
- BLUESUMMERS NVMe SSD adapter
- Samsung Galaxy A12 64GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy Xcover 5 64GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Dell Latitude E6440 - i5-4GEN I 8GB I 320GB I 14" HD I HDMI I Cam I W10 I Garancia!
- Lenovo Legion 5 Gaming. Az ár irányár, komoly érdeklődés esetén van lehetőség egyeztetésre
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged