Hirdetés
- Korszakok keverednek a HYTE legfrissebb, lekerekített külsejű házában
- Egy éven belül háromszor csinálta ki saját CPU-ját a Corsair méregdrága PC-je
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- Most állítólag törölték a korábban pletykált GeForce RTX 50 Super sorozatot
- Eleinte nem kíméli majd a pénztárcákat a Panther Lake
- Milyen TV-t vegyek?
- Blu-ray lejátszók
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Melyik tápegységet vegyem?
- Ne várj sokat a vásárlással: drágulás a láthatáron
- Amlogic S905, S912 processzoros készülékek
- Apple MacBook
- Házimozi haladó szinten
- Milyen belső merevlemezt vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
-
PROHARDVER!
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
Nem kell megfejteni!
Ennyi a loop lényege:void loop() {
taskDISABLE_INTERRUPTS() ;
for ( uint8_t i = 0 ; i < ledNum ; i++) {
transmitOnePixel(lightArray [lightArrayIndexPortWriting][i]) ;
} ;
taskENABLE_INTERRUPTS() ;
delay(1000) ;
} ; // end loopA transmitOnePixel paramétere egy tömb.
typedef struct RGB {
uint8_t r, g, b;
};
RGB lightArray[2][ledNum] ;Az első indexe 0, vagy 1. Amíg az egyik első indexxel a tartalmát küldöd a led szalagra, addig a core0-á a másik indexxel számolod a következő értéket.
Ezt célszerűen egy
xTaskCreatePinnedToCore
hívással célszerű megtenni.Ezt:
void lightShowInCore0Code( void* parameter){
static uint8_t showNum = 0 ;
switch (showNum) {
case 0:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {0,0,0} ;
} // end for
lightArray[lightArrayIndexCalculating][0] = RGB {255,255,255} ; // first, last pixel controll
lightArray[lightArrayIndexCalculating][ledNum - 2] = RGB {255,255,255} ;
lightArray[lightArrayIndexCalculating][3] = RGB {255,255,255} ;
break;
case 1:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {(128-i*(128/ledNum)),i*(128/ledNum),0} ;
} // end for
break;
case 2:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {0,0,32} ;
} // end for
break;
case 3:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {0,32,0} ;
} // end for
break;
case 4:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {32,0,0} ;
} // end for
break;
case 5:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {(128-i*(128/ledNum)),0,i*(128/ledNum)} ;
} // end for
break;
default:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {16,16,16} ;
} // end for
}
showNum++ ;
showNum = showNum % 6 ;
vTaskDelete(NULL);
} ; // end lightShowInCore0Codecsak mintapéldának írtam hasraütésszerűen náhány verziót, ami a case szerint sorra veszi.
A
static uint8_t showNum = 0 ;
miatt sorra veszi őket.Persze lehet a kész könyvtárakkal is, ha már azzal kezdted el, bizonyára úgy is kell mennie.
A vékony drót esetét én sem értem, de vannak még csodák.Ha valamelyik led nem azt csinálja, amit kellene:
az többnyire amiatt van, hogy 1 msec időközönként megszakít, és ilyenkor túlszalad az idő.
Próbáld meg esetleg tiltani a megszakítást azon a magon, amíg tart az adatok feltöltése a szalagra!
Új hozzászólás Aktív témák
- Milyen TV-t vegyek?
- Blu-ray lejátszók
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Black Friday november 29. / Cyber Monday december 2.
- Építő/felújító topik
- World of Warships
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Battlefield 6
- Titan Quest II
- Melyik tápegységet vegyem?
- 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
- 0% THM 4 havi részlet beszámítás! RX 9060 XT / 9070 / 9070 XT videokártyák készletről KAMATMENTESEN
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8400F / RX 6800 16GB / 32GB DDR5 / 1TB SSD!
- iPhone 14 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3660
- HIBÁTLAN iPhone 12 Mini 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3644, 100% Akksi
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold

