Fórum témák
» Több friss téma |
Köszönöm, kipróbáltam, sikertelen.
Még akkor is, ha a szóközöket kiveszem. General error a hiba.
Ez a helyes megoldás egy bit állítására:
clear_bit(option_reg , 7); Még egyszer köszi. A hozzászólás módosítva: Feb 26, 2019
Ez az igazi
option_reg = option_reg & 0x7F; wpua = 0x01; //bit
Sziasztok!
Segítséget kérnék egy olyan hibajelenség megoldásában, amilyennel - eddig - nem találkoztam. Adott egy projekt, aminek a folyamatábráját csatolom. A szimulációban minden tökéletesen működik, azonban lefordítva hex kódra, és beégetve a chipbe olyan, mintha rettenetesen lelassulna. A másodpercnyi (vagy rövidebb) időzítések több percesek. Nagyon megköszönném, ha valaki hozzáértő vetne rá egy pillantást, és - ha ki tudja deríteni - elmondaná, mi lehet a gond! Előre is köszönöm.
Szia!
Elvileg ez a pic csak 4MHz-et tud belső órajellel, nálad viszont a program 20MHz-re van állítva.
Köszönöm, akkor megkísérelem átírni, és felprogramozni. Remélem, hogy csak ennyin múlik.
Köszönöm a segítséget!
Ha belső osci van akkor mindegy oda mit írsz mert C blokkban kell megadni a sebességet.
Ha nem adsz meg c-ben semmit akkor ez szokott lenni, lassú mert nem tudja mennyin kell menni
Kell az a beállítás és a C blokk is. Utóbbi csak akkor, ha van értelme, pl. van a kontrollerben osccon regiszter.
Helló!
Eddig én úgy tudtam, hogy a flow órajel sebesség beállítása arra kell, hogy a flow tudja milyen sebességgel szeretnéd majd járatni a picet, és ehhez képest állítja az időzítéseket. Tehát ha van valahol egy 1ms késleltetés (lehet gyári modulban is ilyen, amit nem is látsz) ez alapján fogja tudni, hogy mennyi órajel kell az 1ms eléréséhez.( osccon = 0x60; )-ot meg beírhatod a C-be, de írhatsz akármit, mert nem értelmezi, mivel csak 4 MHz van a picben.
Nos, úgy tűnik, az ötlet bevált. Átállítva az órajel-sebességét a projekt opciókban, és újraprogramozva vele a PIC-et, már jól működi, úgy tűnik.
Még egyszer köszönöm a segítséget!
Sziasztok!
Buzzert hogyan szoktatok meghajtani, ha nem áll rendelkezésre hardveres PWM kimenet? Van esetleg egy példája valakinek rá? Jó lehet delay-okkal is, mikor sípolnia kellene, akkor úgysem kell mással foglalkoznia a PIC-nek, csak egy 2mp-es sípolás kellene.
Eleve olyan buzzer, amelyikben van meghajtó? Így csak a kimenetet kell ki- és bekapcsolni.
Nem tudtam, hogy van olyan. Vagyis azt hittem én vagyok bolond, de emlékeim szerint gyermek koromban szedtem ki valamiből, ami sípolt sima 3V-ról. A mostanit a PC alaplapomról téptem le, viszont csak PWM-el sípol. Ezek szerint akkor létezik! Beszerzek egy olyat, aminek csak táp kell.
Köszönöm az infót! Kellemes Húsvétot!
Szia!
Csinálsz egy timert és abba egy elágazást és kész..
Üdv!
Most kipróbáltam ezt a megoldást, tök jó dolog. Annyi a bajom vele, hogy bármit ha megszerkesztek, begépelem, az megjelenik a kijelzőn, viszont egy karakternél többet nem tudok kijelezni. Egy több kockából álló logót szeretnék kirajzoltatni vele, de ha egynél többet próbálok kiíratni, az összefolyik csak, meg butaságokat jelez ki. Milyen névvel mentsem el ezeket? Sima változóként adtam meg byte-ban, majd ASCII-ként próbáltam kiíratni, "kockáról-kockára". Hogyan szoktátok ezt megoldani? Esetleg lehet, hogy ilyen gyatra minőségű a kijelzőm? (legolcsóbb-leggagyibb- kék-fehér.)
Nyolc (0 - 7) memóriahely áll rendelkezésre egyedi karakterek számára. Első lépésként fel kell tölteni a karaktereket a kijelzőbe, annyit, amennyit szeretnél. Pl. a 3. táhelyre (lásd melléklet).
Ezt eljátszod annyiszor, ahány egyedi karaktert szeretnél (max. nyolc). A megjelenítéshez csak meg kell hívni az adott memóriaterületet, második kép. Ennyi az egész.
Működik!
Bár a memóriahely sajna így ezek szerint elég szűkös, Viszont, ha már mondjuk a logo fele megvan, onnan kezdhetem elölről a ram írását? A kijelző úgy is úgy marad, míg nem kap egy clear-t.
Nem. Ha egy egyedi karakter már kinn van a kijelzőn és a hozzá tartozó RAM területet átírod, a kijelzőn is megváltozik a karakter. Ezzel nincs mit tenni, a HD44780 már csak ilyen.
Alternatív megoldás lehet egy grafikus kijelző használata, pl. Nextion HMI. Az ráadásul még színes is.
Helló!
Lehet bármennyi karaktered nem csak 8, ha a pic memóriájában tárolod és kiíratáskor töltöd a kijelzőbe.
Szia!
Na ez érdekes lehet. a PIC-ben jelenleg csak 2db változó van tárolva, tehát hely az van bőven. Hogyan lehet a karaktereket a PIC-be menteni, és hogyan lehet előhívni, hogy a kijelzőbe kerüljön?
Csinálsz egy bármilyen nevű makrot 1 paraméterrel pl karakterek. Ebbe teszel egy vagy több többirányú elágazást 1-akármeddig. minden feltételhez teszel egy ram írást az általad igényelt karakterrel. (pl jobbra balra nyíl stb..) (Érdemes kommentelni hogy melyik elágazás mit tud mert a későbbiekben egyszerűbb lesz) Ezután ahol kell egy speciális karakter beteszed a karakterek makrot a kivánt paraméterrel majd komponens makroba kiadod a print ascii1 parancsot. ennyi kb.
ENNYIT sikerült kihozni belőle... Nem az igazi, de most már így marad. Szemmel annyira nem látszik a kis szünet a logó kiírása közben, mint videón.
Ha már bele ölted a munkát , miért nem csináltad meg az ékezetes karaktereket ?
Még nincsen kész, de az "üdvözlő szöveg" már marad így. Még az értékek kijelzése is pontatlan. Későbbiekben még az ékezeteket is lehet, hogy beleírom. Annyi a gondom vele, hogy akkor nyomatott betűvel nem fér ki a kijelzőre. De próbaképp lehet, hogy megnézem milyen ha a szövegeknek csak a kezdőbetűi vannak naggyal írva.
Én is játszogattam vele egy ideig mire minden olyan lett amilyennek akartam
A hozzászólás módosítva: Ápr 22, 2019
Közben láttam az ADC kezelős youtube videódat. Sokat segített, a videóban közzétett alkotásomban is a Te megoldásod működik. Köszönöm még egyszer!
|
Bejelentkezés
Hirdetés |