Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   643 / 1320
(#) watt válasza c27 hozzászólására (») Jan 15, 2010 /
 
Szerintem, mint már írtam is, a port nem megy tönkre egy sima zárlattól, de ne próbáld ki ha lehet!
(#) c27 válasza watt hozzászólására (») Jan 15, 2010 /
 
Ok, kösz. Még annyit kérdeznék, hogy egy 16F684-gyel épített fordulatszámmérőhöz nem tudsz valahol kapcsolási rajzot (4 digites kéne)?
(#) watt válasza c27 hozzászólására (») Jan 15, 2010 /
 
Kapásból nem, de ha lesz időm keresgélek.
(#) Trovo hozzászólása Jan 15, 2010 /
 
A Microchip rádiófrekis dolgairól lenne egy kérdésem...
Egy WLAN kompatibilis klienst szeretnék készíteni PIC32MC795F512L kontrollerrel.
Láttam a gyártó honlapján a kész wireless modulokat, és találtam ezt: MRF24J40MA Link
TCP/IP stack tartalmazza a teljes wireless támogatást, és a hálózati résszel nincs is gond, ENC28J60-al működik is az alkalmazás.
A kérédsem az lenne, hogy az IEEE 802.15.4 szabványnak megfelleő adóvevőt lehet-e illeszteni az IEEE 802.11 b/g/n szabványokat támogató routerekhez?
(#) robotech hozzászólása Jan 16, 2010 /
 
Üdv!

PIC18F2550-el lenne egy kis problémám.
A PORTB,6 lábon nem tudok állapotváltozást kicsikarni.

Kínomban írtam egy olyan programocskát (mikrobasicben), hogy:

TRISB = 0
ADCON1 = 0xFF
ADCON0 = 0x00

while 1
PORTB = 0xFF
delay_ms(1000)
PORTB = 0x00
delay_ms(1000)
wend



Erre a B port minden lábán szépen látható a jelszint változás, kivéve a PORTB<6>-ot.
Configban a CONFIG4L = 0x81, tehát a debug nincs bekapcsolva.

Lenne valakinek ötlete, hogy mi foghatja az adott lábat? 3.3Voltot tudok rajta mérni állandóan...

Köszönöm előre is a segítséget!
(#) watt válasza robotech hozzászólására (») Jan 16, 2010 /
 
Ha nem bemenet, akkor tönkrement.
(#) bladika válasza robotech hozzászólására (») Jan 16, 2010 /
 
Szia!

Nem ismerem a mikorbasic-et, de próbáld meg esetleg LATB vel változtatni a B port szintjeit. (csak egy ötlet)
(#) robotech válasza bladika hozzászólására (») Jan 16, 2010 /
 
Köszi,
Próbáltam úgy is, de ugyanez a helyzet. Amúgy úgy tudom, ha teljes portot írsz, akkor lehet a PORTB utasítást használni.
(#) robotech válasza watt hozzászólására (») Jan 16, 2010 /
 
Szóval semmi más beállítás nincs, amit elronthattam volna? Az IC teljesen új,még nem használtam semmire, erre a lábra egyedűl egy I2C-s RTC volt rátéve, SDA láb...
(#) watt válasza robotech hozzászólására (») Jan 16, 2010 /
 
Kifelejtetted, hogy ez a láb a PGC! Milyen égetővel és hogyan égetted?
Az SDA lábat a Slave I2C perifária minden gond nélkül le tudja húzni, ezért ha nem volt bemenetre állítva ilyenkor és a szintje éppen magas volt, akkor tönkrement.
(#) robotech válasza watt hozzászólására (») Jan 16, 2010 /
 
Pickit2 klónnal égettem, egy 40lábas programozó foglalattal amit hozzá készítettem. A szoftver Pickit2 V2.61.
(#) watt válasza robotech hozzászólására (») Jan 16, 2010 /
 
Akkor marad az I2C. Milyen programot írtál a lekezeléséhez?
Egyébként én is pont most akarok egy RTC-t kezelni, és tervezem, hogy egy 270ohm-ot sorba teszek a próbák idejére(ha nem zavar be, akkor benne is hagyom) pont ezért, hogy ne tudjon szembekapcoslódni a két kimenet.)
(#) robotech válasza watt hozzászólására (») Jan 16, 2010 /
 
A soros ellenállás biztos, hogy jó ötlet! A kimenetek szembekapcsolódását viszont egy kicsit nem értem, mert I2C-nél ugye felhúzóellenállás van tápra, és a periféra pedig Open Collectoros (legalábbis az RTC általában), szóval szembekapcsolódás elméletileg nem okozhatta az adott láb kimúlását.
A lekezeléshez mikrobasicben igen könnyű programot írni :

Soft_I2c_config(PORTB,6,5)

Aztán pedig Soft_I2c_start, Soft_i2c_read, és hasonló függvények hivandók...
(#) watt válasza robotech hozzászólására (») Jan 16, 2010 /
 
Az I2C Adat vonala OpenCollektoros, vagy OpenDrain-es. A felhúzó ellenállás éppen ezért fontos, mert a kimenet nem tud 5V-ot előállítani. Ez azért kelll, hogy az I2C vonalon bármelyik eszköz le tudja húzni a vonalat. Az RB6 nem OPD-s kimenet, ezért ha a program nem fut, vagy nem állítja bemenetre a lábat pont akkor, amikor kellene, akkor a kimenet tönkremegy(RB6 H, eszköz kimenet L).
(#) robotech válasza watt hozzászólására (») Jan 16, 2010 /
 
A-ha!
Akkor értem. Valószinüleg ez történt nálam is, mivel a program próbálgatása során több apró programrészletet írkáltam egymás után, elképzelhető,hogy volt köztük olyan is, amely az említett állapotba tette a lábat...
OK, köszönöm a segítséget!
(#) watt válasza robotech hozzászólására (») Jan 16, 2010 /
 
Próbáld meg, hogy lehet-e írni a PIC-et, mert akkor a bemeneti rész még működik, tehát bemenetnek még használhatod a lábat, nem kell kidobni a PIC-et.
(#) robotech válasza watt hozzászólására (») Jan 16, 2010 /
 
Írás az megy minden gond nélkül!
(#) potyo válasza robotech hozzászólására (») Jan 16, 2010 /
 
Esetleg próbáld meg, hogy teszel egy felhúzót a lábra. Lehet, hogy csak a felső mosfet ment tönkre, és kimenetnek is birod használni az alsó mosfetet egy ellenállással.
(#) Stefan hozzászólása Jan 16, 2010 /
 
A USB CDC serial emulátorban hogyan lehet jelezni a PC-s kapcsolatot?
Gondolom az megoldás, ha x időközönként átküldök egy csomagot, és ezt timerrel egy megszakításban figyelem, de nincs egyszerűbb megoldás?
Előre is köszi
(#) watt válasza Stefan hozzászólására (») Jan 16, 2010 /
 
(#) robotech válasza potyo hozzászólására (») Jan 16, 2010 /
 
Köszi Potyo!
Úgy hidaltam át a problémát, hogy megnéztem a Pickit2 Klónt, hogy vajon az RB6 használatban van-e, és mivel nincs, így kicseréltem a két ic-t!
(#) watt válasza robotech hozzászólására (») Jan 16, 2010 /
 
Ügyes!
(#) Trovo válasza Stefan hozzászólására (») Jan 16, 2010 /
 
Nos ez nem ilyen egyszerű!
Én már foglalkozom az USB CDC emulátorral egy ideje. A timer jó ötlet, de az USB porton 1-10ms-onként mindenképpen van kommunikáció. Ez amiatt van, mivel a host adott időközönként végigkérdezi az összes eszközt, hogy van e valami mondanivalója.
A kapcsolat érzékelésének is ez a legjobb módja. A timerrel nem azt figyeled, hogy az emulált soros porton ment e át valami, hanem a USBHALHandleBusEvent(); Függvényben nullázod a számlálót.
Az USB stackben alapból is van egy hibadetektálás, de ha nem érted pontosan a teljes kommunikációt (a végpontoktól a hardverig sok lépésben felépítet pipeokat) , akkor ne próbálkozz vele.
(#) lidi hozzászólása Jan 16, 2010 /
 
Üdv PIC mesterek !

Adódótt egy kis gondom egy 18F6622 -vel. Belső osc esetén nem tudom bekapcsolni a freki 4x -ező PLL -t. Pedig adatlap szerint tud ilyet. A belső osc frekijét tudom állítani. Ha 8Mhz re rakom, akkor 1 ledet villogtat 1Hz -el. Ha 4MHz re rakom, akkor szépen lelassul. Viszont az istennek se tudom bekapcsolni rajta a PLL -t.

PIC18F6622 adatlapja

A MPLAB Sim ben nézve watch ablakban átíródik a PLLEN bit 1-re. Pickit2 vel debugolva is átáll ez a bit, mégsem gyorsul be a ledem
(#) potyo válasza lidi hozzászólására (») Jan 16, 2010 /
 
Az OSCTUNE regiszter PLLEN bitjét bekapcsoltad? Adatlap 2.6.4

Szerk.: hülyeséget kérdeztem, erre válaszoltál
(#) Brienter hozzászólása Jan 16, 2010 /
 
Üdv!
PIC16F877-hez dobok össze egy gyakorló panelt. Rakok rá egy DS1621 hőmérő ic-t is, ennek a data és a clock lábát simán összeköthetem a piccel vagy kell valami felhúzó ellenállás?
(#) Hp41C válasza Brienter hozzászólására (») Jan 16, 2010 /
 
Szia!

A DS1621 SCL lábát kösd a 16F877 RC3, a SDA lábát pedig a 16F877 RC4 lábára. A helyes működéshez mind a két lábat 2k7 ellenállással a pic tápjára kell húzni. A lábakat bemenetnek kell beállítani és a MSSI modullal I2C master módban vezérelni.

Szia
(#) Brienter válasza Hp41C hozzászólására (») Jan 16, 2010 /
 
Kösz a nagyon gyors választ a többi tiszta volt csak az ellenállás nem.
(#) Hp41C válasza lidi hozzászólására (») Jan 16, 2010 /
 
Szia!

Az adatlap szerint:
- A PLL belső oszcillátorral csak akkor működik, ha a belső óra az elsődleges óra, FOSC3..0 = 1001 vagy 1000,
- és ha a belső órajel 4MHz ill. 8Mhz, OSCON6..4 = 111 vagy 110.

Ha valamelyik nem igaz, a PLL nem működik (hiába állítod 1-re a PLLEN bitet az OSCTUNE regiszteben).

Szia
(#) lidi válasza Hp41C hozzászólására (») Jan 16, 2010 /
 
Megvan a megoldás, microchip fórumról. Hát erre soha nem jöttem volna rá:

OSCCON ban ilyenkor nem Internal osc -t kell választani , hanem Primary oscillatort.

Na itt szerintem tuti hibázott az aki a doksit írta, mert erről marhára nem esik szó, és nem is túl logikus.
Következő: »»   643 / 1320
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