Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1061 / 1319
(#) xgaborx hozzászólása Márc 23, 2012 /
 
Sziasztok,
Az a problemam, hogy van egy Pic em aminek, 1 db kulso megszakitasa van. Nekem pedig 3 gombnak kellene kulso megszakitas. Valakinek valami otlete, muxal vagy egyebbel hogy lehetne 1 kulso megszakitasra 3 gombot kotni?
Udv.
(#) vicsys válasza xgaborx hozzászólására (») Márc 23, 2012 /
 
Pl. ne int_ext -et használj, hanem int_RB -t, pl. Mivel sem a kapcsolást, sem a PIC típusát nem ismerjük, így csak vaktában lehet lövöldözni.
Még esetleg egy diódás mátrixal is ki lehet kombinálni- talán...
(#) Hp41C válasza xgaborx hozzászólására (») Márc 23, 2012 /
 
Szia!

Sok kontrollerben egyedileg engedélyezhető a RB port bitjeinek megszakításkérése.

16F887 -en:
Idézet:
„REGISTER 3-8: IOCB: INTERRUPT-ON-CHANGE PORTB REGISTER”
(#) vicsys válasza xgaborx hozzászólására (») Márc 23, 2012 /
 
A 887, konkrétan tud B-n megszakítást lekezelni (RB0 és RB1...RB7)
(#) xgaborx válasza Hp41C hozzászólására (») Márc 23, 2012 /
 
Ja, ez jo csak nekem a megszakitast a lenyomott/fel engedett gomb kene letrehozza, nem en:/
(#) xgaborx válasza vicsys hozzászólására (») Márc 23, 2012 /
 
Tenyleg igen, koszi mind 2 -tok nek. Meg probalom
(#) Attila86 hozzászólása Márc 24, 2012 /
 
Miért nem tudom debuggolni a kis PIC12F615-öt?
Idézet:
„PK2Error0028: Unable to enter debug mode
NOTE: This device requires an ICD Header for debug. See "Header Specification" DS51292.
PICkit 2 Ready”
(#) El_Pinyo válasza Attila86 hozzászólására (») Márc 24, 2012 /
 
Nem tartalmazza a chip a debuggoláshoz szükséges magot, ezért egy külső ún. Debug Header-t kell használni a nyomkövetéshez. Bővebben: Link
(#) Attila86 válasza El_Pinyo hozzászólására (») Márc 24, 2012 /
 
Jaj de csodálatos...
(#) nyemi válasza trudnai hozzászólására (») Márc 25, 2012 /
 
Köszönöm a választ.

Még azért annyit kérdeznék, ha megengeded, hogy utasítás végrehajtáskor létre jöhet-e utasítás tévesztés.
Vagy olyanra gondolok még, hogy a verembe elmentet érték valami zavar hatására sérül, vagy a RAM-ba írt érték idővel megváltozik.

Üdv nyemi
(#) trudnai válasza nyemi hozzászólására (») Márc 25, 2012 /
 
Nyilvan ha elektronikailag nincs rendben valami akkor elkepzelheto zavar -- pl a tapfeszultseg egy kritikus ertek ala csokken, amire kitalaltak a Brown Out Reset-et (BOR). Vagy valami megszakitasod van ahol a megszakitas kezeloben nem jol mented el es toltod vissza a kontextust. Vagy napkitores van es az zavarja meg az aramkorod. Mindenre nem is lehet felkeszulni, de ha jol van megcsinalva az aramkorod akkor gyakorlatilag hibamentesen mukodhet az aramkorord 20-30 evig is akar...
(#) Attila86 hozzászólása Márc 27, 2012 /
 
Szükségem lenne egy 32bit bináris->10bit decimális konverter rutinra, assemby-ben. Tudtok mutatni nekem egy ilyet?
Volt nekem valahol egy jó kis könyvjelzőm ahol ilyenek voltak, de most az újratelepítés után nem találom.
(#) vilmosd válasza Attila86 hozzászólására (») Márc 27, 2012 / 1
 
A PICLIST ilyen oldal. Talalsz sok erdekes rutint.
(#) Attila86 válasza vilmosd hozzászólására (») Márc 27, 2012 /
 
Köszönöm, tökéletes!

Még egy dolog: szeretnék pontos 10ms-os időzítést a TMR2-vel. PIC18F25K80-ról van szó mely 32MHz-en megy belső oszcillátorról. ha jól számolom akkor 1:16-os előosztóval, 250-es PR2-vel és 1:10-es utóosztóval pont 5ms-nek kellene kijönnie, aztán egy kétszeres osztót már megoldanék szoftveresen. De ezen értékeket beállítva a Stopwatch nem 5ms-ot hanem 5,522000ms-ot mér. Miért?
(#) Hp41C válasza Attila86 hozzászólására (») Márc 27, 2012 /
 
PR2 = 249 -cel jó lesz...
(#) Attila86 válasza Hp41C hozzászólására (») Márc 27, 2012 /
 
Így kereken 5,500000ms lett.
(#) icserny válasza Attila86 hozzászólására (») Márc 27, 2012 /
 
Az utóosztóba is eggyel csökkentett számot írj! (10 helyett 9-et)
(#) Attila86 válasza icserny hozzászólására (») Márc 27, 2012 /
 
Tökéletes, köszönöm!
(#) menyus hozzászólása Márc 28, 2012 /
 
Sziasztok!

Ismét van egy kis gondom a koordináta átszámítással kapcsolatban. Nekem törtet kéne osztanom 60 al. Ezt ugye lehet úgy hogy X / 6 és / 10 . De a fő kérdés, hogyan lehet törtet osztani PIC el..? Pl:

23.4980 / 60 ezt hogyan lehet a legegyszerűbben megoldani 8 biten ? (asm ben, nem C ben)
(#) Hp41C válasza menyus hozzászólására (») Márc 28, 2012 / 1
 
Szia!

Kést választásod van:
- Microchip IEEE float kezelés asc -ben, letölthető a honlapjukról,
- Fixpontos számolás. Pl 32 bites számokkal számolsz, két byte egész és két byte tört. 23.4980 / 60 ~= 1539964 / 3932160 = 23,49798583984375 azaz 0x177F7C / 0x3C = 0x6106 A pontosságás növelheted a számítás bitszámának növelésével...
(#) menyus válasza Hp41C hozzászólására (») Márc 28, 2012 /
 
Húúú..köszi, ezt még emésztenem kell kicsit...Pont ettől féltem, gondoltam hogy nem lesz egyszerű...
(#) Hp41C válasza menyus hozzászólására (») Márc 28, 2012 / 1
 
Az osztó és a hányados 65536 -tal fel van szorozva.
(#) menyus válasza Hp41C hozzászólására (») Márc 28, 2012 /
 
Köszönöm.
(#) Bonca válasza xgaborx hozzászólására (») Márc 28, 2012 /
 
Hello!
Ha csak egy külső megszakítás figyelési lehetőséged van, én ezt a megoldást használtam több külső megszakítás figyelésére. A külső felhúzóellenállások elhagyhatók, ha van weak-pull-up lehetőség a PIC-ben.
INT0IF 1-be billenésekor a C portot beolvastam egy változóba, hogy megtudjam, melyik lábon jött megszakítás.

Bonca

ext_int.jpg
    
(#) Hp41C válasza Bonca hozzászólására (») Márc 28, 2012 /
 
Szia!
Hasonló áramkör benne van a kontrollreben a B portra Interrupt On Change néven. HA RB0 -ra nem jut nyomógomb, megmaradhat külső kérésnek. Egyébként a 18F -eken 3 külső megszakítás fogadására van lehetőség: RB0.. RB2 - INT0 .. INT2.
(#) Bonca válasza Hp41C hozzászólására (») Márc 28, 2012 /
 
Igen, és használom is az RB1, RB2-őt másra. A rajz egy kapcsolás részlete, nem a teljes változat, csak ötletadónak szántam. Ezzel a módszerrel elég sok külső megszakítást lehet hardveresen lekezelni.

Bonca
(#) borvendeg hozzászólása Márc 28, 2012 /
 
Hello!
Pickit2 UART tool-t használta már valaki?
A stop bitet hol lehet kikapcsolni?
(#) Hp41C válasza borvendeg hozzászólására (») Márc 28, 2012 /
 
Szia!

Használtam... Nem lehet semilyen, a formátumot meghatározó értéket állítani (bitszám: 8, paritás: nincs, stopbit: 1). Sajnos a PICKit2 Serial Analyzer -ben sem lehet ezeket állítani.
(#) borvendeg válasza Hp41C hozzászólására (») Márc 28, 2012 /
 
Köszi!
Ez sajnos rossz hír. Csalódtam a Microchip-ben.
(#) kszabi hozzászólása Márc 28, 2012 /
 
Sziasztok!
Szeretnék egy dspic 33-hoz gombelemet/akut illeszteni,
hogy a táp kikapcsolás után megmaradjanak bizonyos beállítások, és tovább menjen a RTCC.
A stabil ic lm2576, és erről megy egy ftdi chip is.
Hogyan kellene ezt bekötni, hogy szundiban minél tovább tartsa ezeket az értékeket?
Üdv kszabi
Következő: »»   1061 / 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