Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Mire leírtad ezt a hozzászólást, már rájöttem én is. Magyarán az enyém 255-tel azért nem jó, mert 65280-nál már túlcsordul az "egész" számlálója. Pedig illik egy teljes integer típusú változót beleírni a 2 byte-ba. 255-tel ez nem teljesül. 256-tal igen. De akkor nem csak az osztásban kell a 255-öt 256-ra módosítani, hanem a modulonál is.
Bocs, de az előbbi gyors "félválaszod" kissé megvezetett.
Igen, bocs, siettem és nem fejtettem ki bőven először.
De igen, a 255-tel osztás nem jó, mert lassú ("aritmetikai" osztás, nem bitshift), és csökkenti a memória kihasználható méretét (ami nem feltétlenül baj). Szóval ha byte-okra szedsz szét nagyobb egész értéket, akkor 256 (2^8)-tal kell osztanod, illetve annak 256*256-tal, 256*256*256-tal (2^16, 2^24), stb.
Alsó: valtozo&0xff, felső: valtozo&0xff00, ezt el kell tolni jobbra 8-cal, és akkor 8biten elfér: (valtozo&0xff00)>>8. Nem kell gondolkodni, hogy 255 vagy 256.
A hozzászólás módosítva: Szept 16, 2017
Sziasztok.
Összeállítottam ezt az kapcsolást, és az lenne a kérdésem, hogy mit kellene átírni/hozzáírni az alábbi programban, a téli/nyári időszámítás automatikus átállítása érdekében? A programozáshoz nagyon kezdő vagyok. Köszönöm előre is.
A programnyelvet nem ismerem, de annyit tudok mondani, hogy alapvetően sok dolgot. Első lépésként az évszám alapján meg kell határozni a nyári időszámítás kezdetét és végét. Ha az aktuális idő e kettő között van, akkor az aktuális időhöz hozzá kell adni egy órát. Ha a hozzáadással ugrik a nap, akkor ahhoz is. Ha a hozzáadással ugrik a hónap, akkor ahhoz is. Utóbbihoz azt is kell tudni, hogy hány nap van az adott hónapban.
Ez ennyire bonyolult?
Azt hittem elég csak annyi, hogy ha a mounth >10 és a day > 31, akkor hour + 1 vagy -1. Nagyvonalakban így gondoltam, buta fejjel De úgy látom nem így működik.
Tuti van olyan lib, ami kezeli. Keress rá az "arduino rtc daylight saving" kifejezésre
Szia, köszi, már nézegetem/tanulmányozom a leírásokat.
Gondold végig. Augusztus 31. 23:55. Ha itt hozzáadsz egy órát, pár dolog változik.
Igen közbe találtam Ezt az oldalt, most tanulmányozom.
Szia!
Most az volt a kérdés, hogy mikor kell az órát előre, ill. visszaállítani 1 órával ? Akkor nem kell hozzá ilyen bonyolult algoritmus... !
Pedig de, ha algoritmikusan nézed, akkor ez ilyen...
Ezt a könyvtárat használom, arduino altatásra:
Bővebben: Link Konkrétan ezt a parancssort:
Sajnos nem jövök , rá mivel tudnám az arduinot, visszahozni az altatásból, hogy minden működjön rajta. Örülnék minden segítségnek.
> Sajnos nem jövök , rá mivel tudnám az arduinot, visszahozni az altatásból
Ha így küldöd el aludni, akkor 8 másodperc után felébred, és minden működik. Te milyen hibát tapasztalsz?
SIM800 interruptja szakítja meg az alvó módot. Ébredés után a soros kommunikáció nem működik rendesen, random karakterek jönnek a sim modultól.
Nekem eddig mindig működött a soros port ébresztés után.
Kérdések 1: Miért nem SLEEP_FOREVER-t használsz, ha interruptra akarsz ébredni? 2: A SIM800 hová van kötve? Hard vagy soft serial?
Szia
Szökőévre ez kell:
Téli/nyári időszámításra:
A hozzászólás módosítva: Szept 17, 2017
Idézet: „Első lépésként az évszám alapján meg kell határozni a nyári időszámítás kezdetét és végét.” Például mi köze van a téli-nyári időszámításhoz az évszámnak ?
A loop-ban csak az altatás van, meg két változó figyelés, ezért használom a SLEEP_8S-t (persze nem biztos hogy jó), 8s alvás , utána vizsgálat.
SIM800 D4-D5 ről megy.
Szia, köszi
Ezt hova kell beírni a programba? a void setup részbe?(Téli/nyári időszámítás)
Minden évben máskor kezdődik és máskor van vége. Tudom, hogy ez algoritmikus, de én inkább lefoglalnék 32 byte-ot ami azt tartalmazná, hogy idén és a következő 15 évben mikor állunk át és mikor vissza. (Igazából elég lenne a fele is ha jól emlékszek.)
RTC modulos témáról van szó, szóval a múltat tudni nem annyira fontos, a jövőre nézve pedig a 15 évvel bőven túllövöm bármilyen cucc élettartamát, amit egy ilyen hobbi cuccnál becsülni lehet.
Mindkét algoritmus hibás.
A szökőévesnél nem veszi figyelembe, hogy minden 100-zal osztható év nem szökőév, de minden 400-al osztható mégis az. Mondjuk ez a következő 82 évben nem fog problémát jelenteni, szóval igazából lényegtelen. A DST téma pedig sokféleképpen van kitalálva, itthon március utolsó vasárnapján 2 órakor állítjuk 1 órával előbbre, és október utolsó vasárnapján 3 órakor vissza 1 órával. A fenti DST() fv. nagyon nem így működik, mármint az EU-ban, mert lehet hogy az usákban jó (kivéve pár államot).
Mit értesz azalatt, hogy minden évben máskor kezdődik és máskor van vége ? Mindig március utolsó vasárnapja a nyári időszámítás kezdete és október utolsó vasárnapja a télié ( az átállítás 2, ill. 3 óra hajnalban) !
szerk.: most látom, hogy ezt le is írtad Brian88 hozzászólására. Akkor mi a probléma, ezt kell megvalósítani ( azt kell meghatározni, hogy melyik az utolsó vasárnap, ez nem nagy ördöngősség) ?!! A hozzászólás módosítva: Szept 17, 2017
Azt érti ez alatt, hogy minden évben más-más dátumra esik az óraátállítás. Pl. január 5. nem mindig vasárnap.
A január 5 nem is érdekel minket !
Azt kell megnézni, hogy melyik a megfelelő hónap utolsó vasárnapja: az, amelyik vasárnap után már nincs 7 nap a hónapból! Ez nem bonyolult !
Határozd meg kérlek, hogy 2021. Május elseje milyen nap. Ez már komplikált. Nézni kell hozzá a szökőévet is, mert február 29-cel eltolódnak a napok. Ne írj ilyet, hogy nem bonyolult, ha nem is látod át a probléma nagyságát!
Nem bonyolult, de nem is olyan egyszerű. Én tuti nem szórakoznék ezzel, ha lenne néhány szabad byte-om adatnak
Oda van írva, példa. Példaként hoztam fel a dolgot hogy megértsd, nem fix dátumra esik az óraátállítás. Itt a remek alkalom arra, hogy megírd az algoritmust, páran biztosan kíváncsiak rá.
Ha van day of week függvényed, akkor egyszerű, nem csak a május 1, hanem az utolsó vasárnapos téma vizsgálata is. Ha nincs, akkor azt is meg kell írnod.
Lehet, hogy nem vagyok képben, de akkor Te sem, mert én kifejezetten az óraállításra írtam, amit írtam ( direkt rákérdeztem, hogy ez-e a probléma!), ott meg nem érdekel, hogy 2021.május 1. milyen napra esik !
A hozzászólás módosítva: Szept 17, 2017
|
Bejelentkezés
Hirdetés |