Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1160 / 1319
(#) Attila86 hozzászólása Jan 26, 2014 /
 
Köszönöm mindegyikőtöknek a segítséget, de meglett a hiba oka!
A fentebb beillesztett kódban voltak ilyenek:
Idézet:
„movlw 0b11101100”

Ezt úgy néz ki az MPLAB nem tudja értelmezni mert a W-be nullát rak. Persze hogy utána a konfigurációs regiszterekbe sem rakta be az értéket! Átírtam ilyenekre és jó lett:
Idézet:
„movlw b'11101100'”

Most már megvan a 38kHz, bár igazából csak 37,74kHz de majd belövöm mindjárt pontosabbra.

Nem értem hogy ez miért lehet baj és ha már az akkor viszont miért nem szól érte az MPLAB?!
A hozzászólás módosítva: Jan 26, 2014
(#) zenetom válasza Attila86 hozzászólására (») Jan 26, 2014 /
 
Szia!
Azért nullát rakott be a WREG-be, mert a "0b" szócska azt jelzi a fordítónak, hogy hexa számot adsz meg, és csak az utolsó 2 számjegyet nézi a megadott számban.
Tehát pl.: MOVLW 0b6512
Ha ezt írod be, akkor a WREG-be 0x12 fog kerülni (decimálisan 18).
Nálad "11101100" szerepelt, annak az utolsó 2 számjegye pedig 0x00.
Szerk.: az, hogy miért nem szól az MPLAB, hogy nem csak két számjegy van, az gondolom azért van, mert szimplán kihagyták a fordítóból.
A hozzászólás módosítva: Jan 26, 2014
(#) Attila86 válasza zenetom hozzászólására (») Jan 26, 2014 /
 
Érdekes, mert ezt a kódot (a CCP modul beállítását) egy netes programmal generáltam és az írta így.
(#) kissi válasza zenetom hozzászólására (») Jan 26, 2014 /
 
A 0b-t hol olvastad, hogy hexa-t jelent ?! Én ahol használtam valaha, mindenhol a binárist jelölte, szerintem itt is, csak legfeljebb ilyen formátumban nem fogadja el és címkének, szimbólumnak, akárminek nézi... !
(#) watt válasza kissi hozzászólására (») Jan 26, 2014 /
 
Ez megtévesztő és egyben érdekes egybeesés, amin én is elgondolkodtam egy darabig. A fordító alapértelmezésben hexát fordít. Tehát a 0b azaz 0B az D'11' azaz B'00001011'
A fordító nem nézi azt, hogy mekkora számot írunk, az assebler buta, nekünk kell okosabbnak lenni. A 0b11101100 = D'47530905856' a fordítónak és valóban a W-be 00-t a két utolsó tagot teszi.
A hozzászólás módosítva: Jan 26, 2014
(#) kissi válasza watt hozzászólására (») Jan 26, 2014 /
 
Aha, értem már, hol a bibi ! Én mindig átállítom az alapértelmezett számrendszert tízesnek ( asm-ben) és úgy a 0B az bináris, nem fogadja el hexának !
A hozzászólás módosítva: Jan 26, 2014
(#) watt válasza kissi hozzászólására (») Jan 26, 2014 /
 
A 0B nem bináris akkor sem, mert B'xxxxxxxx' formátum az elfogadott. Azért nem szerencsés átállítani, mert ha kapsz egy példa kódot, amit be szeretnél illeszteni, mint ez esetben Attila, akkor ütközni fog, és nem győzöd keresni a hibát. Nekem egyáltalán nem okozott problémát, hogy a hex az alapértelmezett.
A hozzászólás módosítva: Jan 26, 2014
(#) kissi válasza watt hozzászólására (») Jan 26, 2014 /
 
Igen, meg a xxxxxxxxB is jó és itt, ha a B után írsz valamit, akkor "fütyül" emlékeim szerint !
A hozzászólás módosítva: Jan 26, 2014
(#) Hp41C válasza Attila86 hozzászólására (») Jan 26, 2014 /
 
Szól érte a fordító, ha nincs kikapcsolva.
Idézet:
„Warning[202] <forrás állomány neve> <sor száma> : Argument out of range. Least significant bits used.”
(#) Attila86 válasza Hp41C hozzászólására (») Jan 26, 2014 /
 
Ja, holmi "warning"-okkal én nem szoktam foglalkozni. Csak az error-ok zavarnak mert attól nem fordítja le és az már bosszantó tud lenni.
(#) Attila86 hozzászólása Jan 26, 2014 /
 
Más téma:
Régóta gondolkodom hogy hogyan lehet véletlen-számot generálni mikrovezérlővel. Utánaolvasgattam és arra jutottam hogy a legjobb megoldás ha mintát veszek az A/D-val egy lábról ami a levegőben van és az eredmény legalsó bitjét tekintem véletlennek. Nos ma végre ezt kipróbáltam. Direkt nem konfiguráltam fel rendesen az A/D-t (PIC belső A/D-je) hogy tuti hülyeségeket mérjen és a lábat a levegőben hagytam lógni. Beállítottam hogy másodpercenként generáljon így "véletlent" és azt egy másik lábán adja ki L és H szintek formájában. Ezt pedig rákötöttem a digitális szkópomra és ott néztem mit csinál. Még egyszer leírom: másodpercenként generált elvileg "véletlent". A gyakorlatban azonban a szkópon vagy tökéletesen hibátlan 50% kitöltési tényezőjű négyszögjelet láttam percekig folyamatosan, megszakítás nélkül, vagy percekig stabil L szintet. Ez így nem valami jó véletlenszám-generátor, ha több száz egymást követő alkalommal ugyan azt az eredményt adja. Esetleg van jobb ötletetek?

És egy megint másik téma:
Pontosan kellene időt mérnem PIC-kel, ezért kvarcot tettem rá. De a PIC-nek el is kellene mennie aludni mert nem akarom hogy fogyassza a kis gombelemet. Csak nagyon ritkán ébredne fel idő göngyölése miatt meg pár kisebb apróságért. De most nézem a PIC adatlapját (PIC18F25K80) hogy kvarc esetén nem tud elmenni aludni! Illetve el tud csak a kvarc le fog állni. Azért ez elég komoly probléma és biztos hogy van rá megoldás. De micsoda? Vannak ezek az RTCC IC-k, erre felé keresgéljek?
(#) potyo válasza Attila86 hozzászólására (») Jan 26, 2014 /
 
RTC ic, vagy kötsz a timer1 oszcillátorra órakvarcot, az tud futni sleepben is emlékeim szerint.
(#) potyo válasza Attila86 hozzászólására (») Jan 26, 2014 /
 
Pedig nem árt ám a warningokkal foglalkozni, mert nem csak úgy szórakozásból tették azokat oda!
(#) watt válasza Attila86 hozzászólására (») Jan 26, 2014 /
 
Végül is minek is, miután csak azt írta pontosan, hogy mi a baj...
(#) watt válasza Attila86 hozzászólására (») Jan 26, 2014 /
 
Attól függ milyen véletlenszámra van szükség. Fényjátékoknál szoktam táblázatokat használni. A megfigyelőnek nem tűnik fel, hogy 100 alkalmanként ugyanaz a sorrend, de még nekem se aki tudja hogy így működik...
(#) Attila86 válasza watt hozzászólására (») Jan 26, 2014 /
 
Erről van szó: Bővebben: Link
Mondjuk tíz esetből legalább egynek illene másnak lennie.
(#) kissi válasza Attila86 hozzászólására (») Jan 26, 2014 /
 
Tegyél rá egy mikrofont! Minden pl. 50-ik hang indítja a csatornaváltást ! Ez eléggé véletlenszerű tud lenni ( FIR szűrővel csak az ő hangjára hangolva ! )!
(#) watt válasza Attila86 hozzászólására (») Jan 26, 2014 /
 
Erre is jó a megoldásom. Találj ki "véletlenszerű" időpontokat és oszd el a soron következő műszakokra. Az alkalmakat is meghatározhatod előre. Ilyet csinálsz 10-20-at és kész.
(#) Attila86 válasza watt hozzászólására (») Jan 26, 2014 /
 
Ezt nem értem.
Találjak ki sok időpontot hasraütés-szerűen és egyszerűen csak lépkedjen egymás után az egyikről a másikra?
A hozzászólás módosítva: Jan 26, 2014
(#) watt válasza Attila86 hozzászólására (») Jan 26, 2014 /
 
Azt írtad, előre tudja mikor lesz műszakban a tag. Előre ki lehet találni mikor váltson csatornát, csak arra kell figyelni, hogy véletlenszerű időpontoknak tűnjön, hogy ne lehessen benne rendszert találni. A végén egyébként úgy is azt fogja hinni, hogy elromlott a TV...
szerk: Igen.
A hozzászólás módosítva: Jan 26, 2014
(#) Hp41C válasza Attila86 hozzászólására (») Jan 26, 2014 /
 
Egy pseudo random generátor.
A hozzászólás módosítva: Jan 26, 2014
(#) watt válasza Hp41C hozzászólására (») Jan 26, 2014 /
 
Sok esetben nem tesztik a véletlenszám generátorok által adott eredmény. Erre lehet mondani, hogy akkor nem véletlenszámokra van szükségem. Ez pedig pontosan így van. Sok esetben az álvéletlen sorozat sokkal szórakoztatóbb, célravezetőbb és sokkal egyszerűbb megvalósítani is.
(#) cua válasza Attila86 hozzászólására (») Jan 27, 2014 /
 
Idézet:
„Vannak ezek az RTCC IC-k, erre felé keresgéljek?”

Én annó vettem egy marék R2025S-t, azóta azt rakom mindenbe. Nem a legolcsóbb (most kb 650.- Ft), de 3V-nál <1uA a fogyasztása, és a kvarc beépített, i2c-n kommunikál.
(#) fakóló hozzászólása Jan 28, 2014 /
 
Üdv! Segítséget szeretnék kérni egy mc68s711-el kapcsolatban. Amatőr vagyok a témában. Ezzel a chippel meg lehet oldani hogy a készülék master vagy slave módban induljon el, ha igen ezt hogy tudom állítani, illetve milyen eszköz szükséges hozzá? Válaszokat előre is köszönöm.
(#) watt válasza fakóló hozzászólására (») Jan 28, 2014 /
 
Bocs, de nem tudsz olvasni?
(#) usane válasza fakóló hozzászólására (») Jan 28, 2014 /
 
Watt fórumtárs arra célzott, hogy ez PIC-es topic, nem freescale.
Próbáld itt.
(#) icserny válasza fakóló hozzászólására (») Jan 28, 2014 /
 
A Freescale honlapján keresgélj (a 711 utáni jelzések is kellenek). Ez egy 8-bites, és elavult mikrovezérlő. Ha át tudod írni a programját (ha csak egyszer írható ROM-ja van, az pech), akkor azt csinálsz vele, amit akarsz - meg amire a memóriája futja.

pl. MC68HC711E9 12 kB EPROM, 512 bájt RAM

Ebben a topikban mással foglalkozunk, itt ne várj ennél több segítséget!
(#) fakóló válasza icserny hozzászólására (») Jan 28, 2014 /
 
Köszönöm.
(#) Kafka válasza Attila86 hozzászólására (») Jan 28, 2014 /
 
Szia!
A PIC felébreszthető interrupt lábról? Ha igen akkor pl.: DS1307 RTC IC, annak van egy SQW/OUT lába ezt lehet be lehet állítani 1Hz frekvenciára. Másodpercenként felébreszti a PIC-et az kiolvassa az időt és újra alszik. Talán még a kvarcot is elhagyhatod így. Ezzel kapsz egy teljes naptárat és a DS egy szuperCapról elmegy hónapokig külső táp nélkül.
(#) Attila86 válasza Kafka hozzászólására (») Jan 28, 2014 /
 
Szia!
Köszönöm az ötletet, majd kitalálok valami ilyesmit.
Következő: »»   1160 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem