Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok!
16F690-es picemet szeretném leváltani 18F-es szériából valamire, de egyszerűen nem találok megfelelőt. Ami kell: - eusart - 8 i/o pin egy porton úgy, hogy ne azon legyen az usart, - 4kszó flash - még 2 i/o lábacska semmi más nem kell, tehát elég lenne egy 14-15 lábú chip is (csak az ilyen formában nem létezik) ti sem találtok ilyesmit? persze 28 meg 40 lábú szörnyet nem szeretnék használni... köszönöm!
18F1230 / 1330 nem jo? Igaz 18 labu, de nekem ugy tunik alkalmas lehet a megadott parameterek szerint.
Töltsd le a MAPS-t és használd. Pont erre van kitalálva!- MAPS -
énis pont ezeket néztem ki magamnak, csak egy a gond, hogy pont úgy van az egyetlen 8 bites port, hogy benne van az rx, tx láb.
watt: köszi, töltöm -> nézem, (amúgy a héten állok neki a pickit2 klónod építésének...)
Első égetőd lesz,vagy van már egy egyszerűbb?
trudnai: hülye vagyok, 1320al kevertem a 1230-at, stbstb, a 1330 úgy néz ki jóó! köszi!
watt: van 2 jdm, meg egy 3byte féle. (nagyon jóóók )
Hát, mostmár ezt is tudom, hogy hol keressem, de egyébként már feltűnt korábban, hogy egyes programokban szépen ki vannak írva a dolgok. Azért nagyon örültem ám, mikor rájöttem, hogy miként áll össze ez a konfig szó, főleg, hogy hexában voltak megadva, azt sem tudtam mi van....de már tudom.
Én sokszor ma is bitekkel írom ki a konfigot, nem kell hozzá más, mint a nyitott adatlap!
Persze van, hogy használom a neveket is. Mindegy, mert ahhoz is kell adatlap. Adatlap a varázsszó és figyelem.
Hiábavaló kérdés. Az SOT5-ös foglalatú is király, maga nemében, és a 32bites százlábúak is azok.
Az a király, ha ki tudod választani a feladatnak legmegfelelőbbet.
Sziasztok!
Egy kis segítségre szorulnék.Építettem egy JDM-et (azt amelyik a nulláról a robotokig leírásban az első). Rá is égettem a teszt.hex filet,minden tökéletesen működött.Továbbis akartam lépni Ezért letöltöttem egy MPLAB-ot fel is telepítettem. A cikk szerint létre kell hozni egy új projectet. A harmadik lépésnél meg kell adni az asm_elso.mcp filet, amit én nem tudok megszerezni. Sekítene valaki?
Te is írod, hogy nem megszerezni kell, hanem meg kell adni, azaz létre kell hozni. Új project létrehozása stb. A cikket el kell olvasni, mert az is lehet, hogy le lehet tölteni ezt az állományt az ott megadott linkről. Mindenesetre nem fogsz találni a neten olyan asm_elso_mcp-t ami neked kell. Már eleve a kérdés is komikus!
Sziasztok!
Két probléma megoldásábam kérem a segítségeteket. 1. Nem tudom rábeszélni a PIC18F4550 MSSP modulját, hogy kommunikáljon I2C módban. Ha "kézzel" leprogramozom, akkor működik az I2C (perifériák működnek) Hiába bújon az adatlapot, nem jövök rá hogy miért nem megy. Azt se mondja fapapucs. Tudna-e valaki dobni egy ASM kódot ami Pl. kiküld a 0x76 (01110110) címre 0xAA-t (10101010) (MSSP modult használva). 2. Nem értem miért nem tudok szubrutint vagy macrót hívni megszakításkezelő rutinból. Ha az alábbi kódot besütöm a PIC-be akkor az első megszakításnal olyan mintha lefagyna a (a megsakításkezelőből valahogy kikeveredik, mert az RE2 villog ezerrel) s után nem hívná meg a megszakitási rutint. Ha "kipontossvesszőzöm" a CALL-t, akkor fut rendesen. Természetesen a "főprogramban" lévő call megy rendesen. HighInt BCF INTCON,7 ;Disables Global int MOVFF PORTD,I2C_Dat01 ;PortD to CALL LED_VILL RLNCF I2C_Dat01 RLNCF I2C_Dat01 RLNCF I2C_Dat01 RLNCF I2C_Dat01 MOVFF I2C_Dat01,PORTD BTFSS PORTB,RB4 BCF PORTE,RE1 BTFSC PORTB,RB4 BSF PORTE,RE1 BCF INTCON,RBIF ;RB port change int flag cleared BSF INTCON,GIEH ;Enables all HIGH priority int. RETFIE LowInt: NOP ; Low Interrupt rutin comes here Main: BCF INTCON,RBIF ;RB port change int flag cleared BSF INTCON,GIEH ;Enables all HIGH priority int. CALL LED_VILL LOOP: CALL Delay BTG PORTE,RE2 GOTO LOOP Delay DECFSZ Delay1,1 GOTO Delay DECFSZ Delay2,1 GOTO Delay RETURN LED_VILL BTG PORTE,RE0 RETURN
Elvileg semmi akadálya annak, hogy a megszakítási rutinból szubrutint hívj. Viszont egy direkt a lábra (áramkorlátozó ellenállás nélkül) kötött led már simán okozhatja, hogy a leded nem villog. Mindezt azért, mert amikor a portra írunk, akkor a LATx regiszterekbe kell írni, és nem a PORTx regiszterekbe.
Arról szokj le, hogy ezt írod: DECFSZ Delay1, 1 Helyette DECFSZ Delay1, F formát használd (illetve DECFSZ Delay1, W, ha oda kell tenni az eredményt). A megszakításkezelőből sosem szabad macerálni a GIEL és GIEH biteket. Azokat maga a hardver kapcsolja be illetve ki, kézzel nem állítgatjuk a megszakításkezelőből. A fentiek mind ellettek már mondva itt a témában, így egyértelmű, hogy nem olvastad el. Pedig azzal kellett volna kezdened, mielőtt bárminek nekiállsz!
Szia elektroby,
Most hi/low interruptokat is hasznalsz? Vagy a prioritasok ki vannak kapcsolva (sem configot sem pedig inicializalast nem latom, azt sem, hogy hogy ugrasz az ISR rutinokra, a vektor jo cimen van-e stb?) Ami feltuno nekem, hogy a LOOP...GOTO LOOP kozott nem hivogatod a LED_VILL rutint, tehat vagy az RE2-n is van egy LED es arrol beszelsz, vagy valami mas miatt villodzik a LED-ed (pl a chip allandoan resetalodik) Nehany tovabbi eszrevetel: 1. GIE / GIEH / GIEL -t soha (ertsd soha) nem piszkaljuk interrupt kezelobol! Azt automatikusan megteszi nekunk a PIC mikor az interruptot meghivja ill ujra engedelyezi mikor RETFIE-t vegrehajtja... Csak problema van belole. 2. A LowInt ha nem hasznalod, akkor vagy ne is tedd ki (marmint ha nincs interrupt prioritas bekapcsolva), vagy NOP helyett egy RETFIE a biztonsag kedveert... 3. Soha ne irkalj szamokat ha vannak szimbolikus megfeleloik (pl INTCON,7, vagy DECFSZ Delay,1) 4. CALL es GOTO helyett lehet szerencsesebb lenne BRA es RCALL mivel azok egy programszon helyezkednek el szemben a GOTO es CALL 2 program szoeval. 5. Remelem ez csak egy teszt, es egyetlen utasitas kedveert nem csinalsz kulon interruptot 6. A macro-t nem lehet "hivni", az nem szubrutin hanem egy behelyettesites... 7. 18F-nel mar nem szokas kozvetlen a PORTx regiszterre firkalni, helyette a LATx regisztereket illik hasznalni - ld. meg RMW hiba Tamas
Tisztelt Tamás és Potyo!
Először is köszi a gyors válaszokat! A későbbiekbken használni akarom a hi/low interruptokat is, ezért szerepel a low int helye. Ez csak egy lecsontozott példa a probléma bemutatásához. Természetesen RCON-ban IPEN be van kapcsolva. A LOOP...GOTO LOOP között BTG PORTE,RE2 villogtat egy másik ledet ami természetesen ellenálláson keresztül van a PIC-re kötve. Köszi hogy felhívtátok a figyelmemet a GIE/GIEH kapcsolgatására (illetve nem kapcsolgatására) Számokat azért irkáltam, mert az adatlap ezt mondta. BRA-t és RCALL-t azért nem használom mert csak 1k-t tudnak ugrani ha jól értem, így a későbbiekben még gondot jelenthet. Azért köszi a tanácsot! Mint irtam ez egy lecsupaszított példa. Nem írok megszakítást egy utasítás miatt. Tudom, hogy a macrot nem hívjuk de a hibajelenség ua volt akkor is ha macrot használtam A LATx-re azt mondja az adatlap, hogy "Alternate method to...", de ha igy illik akkor így illik. Az "I2C MSSP modullal" problémára van ötletetek? elektroby
LowInt uáni kettőspont
A hiba mechanizmusár nem éretem, de a törlésével a hiba megszűnt! Idézet: „BRA-t és RCALL-t azért nem használom mert csak 1k-t tudnak ugrani ha jól értem, így a későbbiekben még gondot jelenthet.” Felesleges aggódnod, mert ha nem tud ugrani, a fordító kiabál. Addig meg tök felesleges kétszer annyi memóriaterületet elhasználni, mint szükséges. Megasztán ha lehet valamit jól csinálni, és nem kerül semmibe, akkor miért ne!
helló az lenne a kérdésem hogy ez az égető áramkör müködik e? A segitséget előre is köszönöm!
Szerintem az utóbbi napokban ez már szándékos hangulatkeltés Szerintem kezd itt!
Tegnap kipróbáltam, amikor Topi bejelentette. Most csak láttam, hogy belinkelted
Te jó ÉG! Tranyóka alig akart eltűnni. Pedig MPi-c felhívta a figyelmemet, hogy ne kattintsak rá.
a kapcsolás működik, nekem is van egy, áramkörön belül ne akard vele progizni a picet. Túl nagy programot már nem viszi át mert lemerül a kondi...
Amúgy meg használd a keresőt, mert párszor már biztos meg van válaszolva a kérdésed!
Sziasztok!
MCC18-hoz lenne némi kérdésem. Van egy adott kapcsolásom, rajta egy 4x20-as kijelző és Pic18F4520-as. Szeretném használni a fordítóhoz csatolt XLCD modult. Mit kell átírnom ahhoz, hogy használni tudjam? Az XLCD-h-ban a lábakat már átírtam, de nem működik. Hol kell beállítani, hogy az órajelem 20Mhz, hogy a delayXLCD-knél a késleltetés megfelelő legyen? Hogyan tudom csak a p18f4520.lib-et újrafordítani? Valamint kellene még a modulból az sw_uart is, de az asm fájloknál ott sem találtam, hogy a késleltetésekhez szükséges órajelet hol kellene beállítanom. Tudnátok segíteni? Köszi és üdv. Zoli Idézet: „Aki "régi motoros", ne kattintson rá!” Aki regi motoros es rakattint az kattintson csak ra
Ha megépíti és itt segítséget kér, akkor csak és kizárólag hozzád fogjuk irányítani a temérdek kérdésével, ha nem működne neki, aminek esélye kb. 80%.
Köszi szépen a választ máskor majd nem terhellek beneteket a kérdéseimel.Bocs hogy zavartam.
|
Bejelentkezés
Hirdetés |