Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
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!
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)?
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?
Ü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!
Szia!
Nem ismerem a mikorbasic-et, de próbáld meg esetleg LATB vel változtatni a B port szintjeit. (csak egy ötlet)
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.
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...
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.
Pickit2 klónnal égettem, egy 40lábas programozó foglalattal amit hozzá készítettem. A szoftver Pickit2 V2.61.
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.)
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...
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).
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!
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.
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.
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
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!
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.
Ü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
Az OSCTUNE regiszter PLLEN bitjét bekapcsoltad? Adatlap 2.6.4
Szerk.: hülyeséget kérdeztem, erre válaszoltál
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
Kösz a nagyon gyors választ a többi tiszta volt csak az ellenállás nem.
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
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. |
Bejelentkezés
Hirdetés |