Fórum témák
» Több friss téma |
A 17.-ben is írod. Akkor minden írás előtt kimenetre, olvasás előtt bemenetre kellene álltani.
Viszont ha ez valami IIC-hez vagy 1-wire-hez hasonló kommunikációs (gondolom) akkor azt is figyelni kell mikor engedi el vagy húzza fel a PIC. Nem tudom milyen eszközhöz kapcsolódik, mi az alappállapot, de valószínű a PIC a master tehát kimenet mint alapállapot és csak ha olvasni kell bemenetre állytani aztán vissza kimenetre. A hozzászólás módosítva: Szept 24, 2020
Egy port regiszter írásakor a kimeneti regiszter íródik. A port olvasásakor a közvetlenül bemeneteket olvassuk be. Ha elérhető a kontrollerben a port LAT regisztere, akkor az is olvasható, mit is írtunk a kimeneti regiszterbe utoljára.
Mi is történik egy PORTB.F7 = ~PORTB.F7 alakú utasításnál: Beolvassuk a port bitek bemeneteinek aktuális értékét, a 7. bitet az ellentettjére állítjuk és beírjuk a kimeneti regiszterbe. Egy analóg módba állított bemenetet mindig 0 -nak olvasunk, egy digitális bemenetet a rajta levő feszültség nagyságától függően olvassuk 1 -nek vagy 0-nak. Egy digitális kimenetet is a rajta levő feszültség nagyságától függően olvassuk 1 -nek vagy 0-nak. Itt lehet probléma a túlterhelés, ami az 1 kimeneti vezérlés ellenére nem engedi, hogy a lábon kialakuljon a 1 -hez tartozó minimális szint. Tovább bonyolítja a helyzetet, hogy az össze bitet egyszerre olvassuk be az adott pillanatban. Lehet, hogy az előző művelet által előírt szint még nem áll be, amikor a beolvasásra sor kerül. Az is előfordulhat, hogy analóg módba állított lábon digitális kimenetet használunk. stb. Ilyen esetekben a RAM területet célszerű egy rekeszt használni a port kimeneti regisztere helyett. Azon végrehajtani a fentihez hasonló kiolvasás - művelet - kiírás (RMW) műveletet és az eredményt átmásolni a port regiszterébe (movff vagy movf - movwf utasításokkal).
Szia,
Arra kapcsolok 5V-ot. Egyenlőre még üres. Viszont van egy másik problémám is. Az a gond, hogy hol működik, hol nem. Adok rá tápot, világít az RA0 - ra kötött led majd elkezd villogni az RB7- es lábon levő led, ami így tökéletes is, csakhogy ha elveszem a tápot, majd ismét ráadom, akkor világít az RA0 ledje, de viszont nem kezd el villogni az RB7 ledje. Ha megint elveszem a tápot és visszaadom, akkor nem is világít az RA0.
- Az RB1 RX láb fel van húzva a VDD tápfeszre 1K ellenállással. - A VDD és VSS lábon van 100nF - es kerámia kondi. - 16MHZ oscillátor, 2 db 22pf - es kondival GND-re húzva. - Az MCLR/VPP láb 10K ellenállással VDD tápfeszre húzva. Mi lehet a hiba? (Proteusban rendesen működik, élesben nem.) A hozzászólás módosítva: Szept 25, 2020
Idézet: „ha elveszem a tápot, majd ismét ráadom,” Mennyi idő múlva adod rá ismét. Hová és mivel? Összerakott áramkör saját táppal? PicKit adja a tápot? BOR hogy van beállítva?
Szia,
Összerakott áramkör, saját táppal. A táp tuti hogy jó, mert egy ugyanilyet már raktam össze és azzal nincs semmi gond. Kihúzom és visszadugom. 1 mp-kb . Ha várok 5 mp-t, akkor néha jól kezd el működni, néha nem. Mindjárt csinálok egy videót róla. BOR? Mellékeltem egy képet a beállításokról. A hozzászólás módosítva: Szept 25, 2020
Nem azért kérdeztem, hogy jó-e a táp, hanem, hogy mennyi puffert tartalmaz. Az 1mp kevés. A 100nF-os kondi is fenn tudja addig tartani a PIC-et ha nincs egyéb fogyasztó az áramkörben. Az 5mp már-már jó lehet, főleg ha bekapcsolod a BOR-t és magasra állítod. Nem tudom milyen PIC, mennyire állítható benne. Ha nem hagyod teljesen lemerülni a puffereket az áramkörben egy köztes feszültésggel a PIC meghülyülhet azért nem indul el olyankor. A BOR ezt igyekszik megelőzni, adott feszültség alatt reseteli a PIC-et.
szerk: Aha. Látom a képet, 628a. Ebben fix a BOR(brown-out) kb 4V ,kapcsold be. Ha akkor is sokat kell várni még a power up timert is bekapcsolhatod. A hozzászólás módosítva: Szept 25, 2020
Értem. PIC16F628A . Mindjárt töltök fel videót.
Aha. Látom. Egy kis hardveres debuggal ki lehetne deríteni hol akad el. Kezdetnek mondjuk a whilhe előtt bekapcsolod az RB7-et. Megnézni, hogy az initen túlmegy-e olyankor. Ha igen akkor valószínűleg a timer környékén kell keresni a hibát.
Egyébként mi az a kis panel a PIC mellett? Sötét a kép nem tudtam kivenni. A hozzászólás módosítva: Szept 25, 2020
Köszi, csinálom.
Az egy step down tápegység. 12v ból csinál 5v-ot.
Azt nem értem igazából, hogy egy másik panelen tökéletesen megy, szinte ugyanez a kód.
Ugyanilyen a másik panel? Az a step-down adja a tápot a PIC-nek? Mennyire egyenletes? Lehet kéne mögé egy kis puffer nem? Sötét volt a video nem láttam van-e rajta.
Az be van kötve a VDD-re 1k ellenálláson keresztül.
Igen a step down adja a tápot a Picnek. Közben van bekötve egy 100nF - es kondi.
A másik panelen is ugyanígy van bekötve step down adja a tápot a picnek ott is. Nincs másik kondi és megy rendesen. Mellékeltem képet, ez volt a videón. Jobb oldalon 2 db ellenállás, egyik 10k az MCLR láb van vele felhúzva VDD-re , a másik 1k és az RX láb van felhúzva a VDD-re vele. Lent bekarikázott 2 db kondi, annak csak a GND részei találkoznak a Pic GND részeivel, mivel oda kerülne majd egy IC, de az egyenlőre nincs berakva. A hozzászólás módosítva: Szept 25, 2020
A Step-down konverter enegedélyező lábát nem kell bekötni? A tápfeszültséget tudod ellenőrizni oszcilloszkóppal? Esetleg a DC-DC konvertert cserélni?
Nincs oszcilloszkópom sajnos, nem kell bekötni.
Tudom cserélni, de nem gondolnám hogy az lenne a gond, mert ha pc usb-ről hajtom a pic-t, akkor is labilis a működése.
Véletlen nem 628-as PIC-ed van 628A helyett? Előbbieknek volt alacsony sebességű változatuk is, pl. PIC16F628-04 (max. 4 MHz).
Sziasztok!
Nekem egy általános kérdésem lenne az SPI kommunikációval kapcsolatban. Két PIC között szeretnék SPI kommunikációt létrehozni. A kérdésem az lenne, hogy a master oldalon így kell lefolytatni az SSPxBUF írását-olvasását? Íráskor: Írunk hasznos byte-ot Olvasunk dummy-t Olvasáskor: Írunk dummy-t Olvasunk hasznos byte-ot A Slave esetében is így kell, ha így kell?
Cseréld ki a 2 PIC-et. Ha teljesen ugyanaz a szoftver és csere után is labilis, akkor panelon lesz valami hiba. Vezetősáv szakadás, forrasztási hiba, oszcillátor, stb. Ha csere után a másik lesz labilis akkor a PIC-ben valami nem frankó. Kerámia kondik sem mindig tökéletesek. volt már a kezemben újonnan vett selejtes.
Íráskor nem feltétlen kell olvasni, mehet egymás után a bájtok írása, megvárva, amíg az előzőleg küldött adat ki nem ér az SSPBUF regiszterből (megszakítás igény szerint, SSPIF).
Slave üzemmódban az SS láb alacsony szintre kerülése indítja a modult. Ha kap órajeleket akkor szépen kitolja magából az SSPBUF tartalmát, miközben fogadja a mester felöl érkező adatot. Ha vége a vételnek és jó is (nem szakadt meg pl. a 4. bit után), akkor kaphatsz egy megszakítást (SSPIF). Szinte mindegy, hogy mikor töltöd fel az SSPBUF regisztert, az mindenképpen fejeződjön be az órajel elindulása előtt. Ha a mester több bájtot olvas a szolgától, akkor igyekezni kell a szolga regiszter feltöltésével. A szolgába időközben érkezett adatot nem kötelező olvasni, ha arra nincs szükséged. A rendszertől függ, hogy a mester oldal felöl nézett olvasáskor az első bájt dummy-e avagy hasznos. Éppen fel lehet használni arra is, hogy egyből utasítást küldj a szolgának. A szolga "látni fogja" az első bájtot is, az az ottani oldalon bekerül az SSPUF regiszterbe. A hozzászólás módosítva: Szept 26, 2020
Kicseréltem az oscillátort és eddig úgy néz ki megy. Viszont másik probléma:
Az RA0 lábat nem tudom villogtatni. Az RB7 - es lábat viszont igen. Miért?
Analóg komparátort kapcsold ki (CMCON regiszter).
Jó szerencsét! Minden bizonnyal itt több a tájékozottabb olvasó, mint Én. Olyan link-ekhez szeretnék hozzájutni, ahol a PIC-ek gyakorlati felhasználására mutatnak példákat. Magyarul, mire tudom használni a környezetemben. Ha lehet nem "bármire, mindenre" jellegű ötleteket vánék, hanem konkrétumokat. Köszönöm a válaszokat. Üdv.: Joe
Azt is tudnod kellene. Analóg -ot kapcsold ki. Az RA0 egyben analóg bemenet is.
Bár nem tudom, ha kimenetnek van állítva zavarja-e. Hová raktad a kódban az RA0 villogtatást? Eddig nem láttam sehol. A hozzászólás módosítva: Szept 26, 2020
Időzités, különböző szenzorok lekérdezése és az alapján egyéb eszközök pl kazán és szelepek vezérlése, világítás dimmelés, CNC vezérlés, és még sorolhatnám. Nem lehet túlzottan leszűkíteni. Amihez mikrovezérlő kell ahhoz használható.
Linkgyűjteményben nem tudok segíteni.
Ilyet keress: arduino ideas. Amit ott megcsinálnak Ardunioval, azt PIC-kel is meg lehet csinálni. Találat van kismillió, egész estét betöltő program lehet.
Szeretném alkalmazni valamire az elektronikát. Egész évet betöltő! Éppen ilyen válaszra számítottam. Köszönöm.
Az RB7 helyett tettem be. Működik minden. Köszi szépen nektek
|
Bejelentkezés
Hirdetés |