Fórum témák
» Több friss téma |
MpLab frissítés: A 8.90 és a 8.92 -ben benne van. MpLabX Intergated Programming Environment 1.95 is ismeri.
Minden Vss és AVss, minden Vdd és AVdd lábat be kell kötni. Minden párhoz külön 100nF karámia kondenzátort, a Vcap láb és a Vss közé 10µF tantál vagy kerámia, low ESR kondenzátort kell kötni. Bármely PGED - PGEC láb párról kellene tudni programozni, de nyomkövetés csak arról lehetséges, amit a konfigurációban be van állítva. Ellenőrizni kell a PGED1 és PGEC1 bekötését. PICKit2 -vel sem lehetetlen a programpozása.... A hozzászólás módosítva: Jan 14, 2014
Még jó, hogy ezért vettem Pickit3-at
Nem működik sajnos, frissítettem az mplabot is, mert 8.89 volt fent, de semmi. Lehet kapott egy 5V-ot, mikor nem volt beállítva a megfelelő PIC... Akkor meg gondolom dobhatom is ki A hozzászólás módosítva: Jan 14, 2014
Sziasztok!
Ha nem jó helyre írtam, szóljatok, törlöm hsz-em. Egy 24C32 mikrovezérlőre lenne szükségem. Jól látom, hogy ez egy PIC? Itt a HE store-ban nem találok. Hol tudnék venni ilyet, lehetőleg nem négyszeres áron? Köszönöm! A hozzászólás módosítva: Jan 14, 2014
Waow. Köszönöm!
Remélem még forgalmazzák. Esetleg valami megbízható online bolt létezik vagy túrjam a G**gle-t?
Én sajna nem nagyon szoktam online vásárolgatni, de pl.: Csak smd.... Biztos van rengeteg bolt még, esetleg aukciós, aprós oldalak...
A hozzászólás módosítva: Jan 14, 2014
Nagyon köszönöm!
Más nem lesz, akkor ez! Na nem offolok tovább!
Szia! Egyre azért kíváncsi lennék. Mire kell az neked, mikor azt sem tudod, micsoda? Mint kiderült, adattároló... Ebből kifolyólag csak akkor epekedj utána, ha a tartalom a birtokodban van, amit bele kell írni. Mert anélkül semmire sem jó.
Nem feltétlenül szükséges a tartalom ismerete. Ilyen eset például az, amikor egy készülék beállításokat ment EEPROMba.
A hozzászólás módosítva: Jan 15, 2014
Ő csak finoman fogalmazta meg, azt, hogy az illető azt sem tudja, hogy mit akar.
Na meglett a probléma Aludtám rá egyet, ez sokszor segít oké, hogy bekötöttem az AVDD-t, de a próbapanelen nem kötöttem össze a +3,3V-ot a két tápsín között Köszi a segítséget!
Viszont jön is a következő kérdésem:
Hogyan tudok 10kb méretű tömböt csinálni? Kell neke egy hatalmas buffer, emiatt is esett a választásom erre a PIC-re, ebben van 16kb RAM. De ha egy 1000 elemű char tömböt deklarálok, akkor ezt a hibaüzenetet kapom: Idézet: „Link Error: Could not allocate section .nbss, size = 10434 bytes, attributes = bss near”
Közben találtam egy angol nyelvű fórumon megoldást, de nem tudom ez mit csinál pontosan.
Idézet: „while you're in the build options, you might want to click the MPLAB C30 tab, choose Memory Model from the dropdown, and change your Data Model to "Large data model"...”
Nem ismerem ezt a típust, de alapvetően a PIC24/dsPIC utasításokban a közvetlen elérésű címzésre szolgáló bitek csak korlátozott terület elérését teszik lehetővé (amelyből 8 kB SFR+RAM terület).
A Large Data model arra szólítja fel a fordítót, hogy indirekt címzést használjon, amivel nagyobb összefüggő terület (mint a 10 kilobájtos tömböd) is kezelhető legyen. Nyilván ennek is van ára, mert a bonyolultabb címzés miatt esetleg hosszabb/lassúbb lesz a program.
De akkor hogyan lehet elérni másképpen azt a memóriaterületet a Large Data model bekapcsolása nélkül?
A fordító alapvetően kétféle módban futhat:
-msmall-data opcióval (ez az alapértelmezett), ami feltételezi, hogy minden adat (statikus és external változó) belefér 8 kilobájtba. -mlarge-data ami nem tesz feltételezést a változók elhelyezkedésére. Ha a 8 kbájton túlmenő területen van változód, akkor nyilván az utóbbi esetet kell használni, te is erre jutottál. A hozzászólás módosítva: Jan 15, 2014
Ne használd a "near" attribútumot, mert az azt mondja meg hogy a változóid az alsó 8kB területre kerüljenek! Ha a tömböd ennél nagyobb, vagy ha már más is foglalja ezt a területet, akkor ez biztosan nem megvalósítható, így hibaüzenetet kapsz fordításkor.
Az általad használt mikrovezérlő memóriatérképe a 0 címtől kezdődően:
- 4kB regiszterterület (a közeli adatterületen) - 4kB SRAM a közeli adatterületen - 12kB SRAM a távoli adatterületem (ezt nem minden utasítás ill. címzésmód tudja elérni) A fordító szerint te 10kB-ot akartál lefoglalni a közeli adtterületen. Ott viszont csak max. 4kB hely van adatok számára. Tehát az ".nbss" attribútum helyett ".bss"-t kellene használnod, mert úgy a linker az adataidat bárhova elhelyezheti a 16kB adatterületen.
Ezeket az attribútumokat hol lehet beállítani? Mert nem találom.
Idézet: Nem elég nem használni, mert ez az alapértelmezett. „Ne használd a "near" attribútumot...” A hozzászólás módosítva: Jan 15, 2014
Assembly nyelvnél vannak ehhez külön "direktívák", amik utasítják a linkert, hogy mit hova tegyen.
Mellékeltem egy kódrészletet, ahol pl. a .bss és .nbss használata látható. Ebben a 16-bites _32 és _34 változóknak a közeli adatterületen foglalok helyet, míg az utánukkövetkező _0800, _D800 és _2000 tömböknek a távoli adatterületen. A program végén pedig a ROM-ba kerülő adatokat helyezek el, amik a PSV funkció segítségével adatként beolvashatók. C nyelven valószínűleg hasonlóképpen megadható mindez, de én nem tudok Céül, így abban nem tudok segíteni. (A példaprogit töltsd le, ne helyben nyissd meg, mert úgy elég kusza lesz!) A hozzászólás módosítva: Jan 15, 2014
Idézet: MPLAB C30 Users Guide: 2.3.1 Specifying Attributes of Variables megmondja.„Ezeket az attribútumokat hol lehet beállítani?” De szerintem nem ez kell neked, mert nem hiszem, hogy egyenként akarod megmondani. Vagy tévednék?
Ha jó a Large Data model beállítás, ez is bőven megteszi
Azért így utólag megkérdezem: Milyen nyelven programozol?
Hello,
Okulásként a kezdők részére leírom megtapasztaltakat. Vettem egy a PICDEM FS USB panelt. Nem mentek a demok. Az én panelemen pic18f45k50 volt, CD-t nem kaptam, a chipcad pedig a pic18f4550 szoftvereit tartalmazó linkre irányított. Egy idő után gyanus lett, hogy lehet nem megy ugyanazzal a hex-el... Önszorgalomból letöltöttem a MCHP - Libraries for App. teljes anyagát (277Mb) és abban találtam megfelelő hex állományokat. Innentől már könnyű, csak meg kell érteni, tanulni, alkalmazni Üdv! Idézet: Kár, hogy ezt eddig titkoltad! Az általad is letöltött MAL demóknál találkoztam már vele. „Az én panelemen pic18f45k50 volt” Idézet: Akkor már a helyes útra tévedtél. Az USB mappában a "Device - CDC - Basic Demo" és a "Device - HID - Custom Demos" a két kötelező alapmű, ezekből kiindulva lehet saját alkalmazásokat fabrikálni.„Önszorgalomból letöltöttem a MCHP - Libraries for App. teljes anyagát” Az elsőt hasznosítottam a PICCOLO projekt USB-t használó függvényeinél (kicsit csavartam rajta egyet a kettős buffereléssel). A másodikat egy diplomamunkában hasznosítjuk (egy korábban USB CDC-re alapozott alkalmazást teszünk át HID kommunikációra, remélve, hogy egyszerűbb és stabilabb lesz a kapcsolat). Az USB CDC kapcsolat nagyon háklis rá, ha a mikrovezérlő és a számítógép között megszakad a kapcsolat, mielőtt az alkalmazás bezárta volna a virtuális soros portot. A HID alkalmazás ebben a vonatkozásban robusztusabb. A hozzászólás módosítva: Jan 15, 2014
Hát ha neked a hex megértése könnyü akkor le a kalappal
Én azzal nem is probálkoztam elég volt az asm is.
Vettem egy Pickit3 starter kit csomagot. Most kezdek a témával ismerkedni. A problémám az, hogy nem tudom működésre bírni. Először az MPLAB 8.x verzióját telepítettem. Külföldi fórumokon azt ajánlották, hogy az MPLABX kompatibilis a pickit3-al. Így most az MPLAB X IDE v2.00 van telepítve, de a hibaüzenet ugyanaz (csatolva). OK-ra kattintva ezt a hibaüzenetet kapom a Pickit3 konzol ablakban: Target device was not found. You must connect to a target device to use PICkit 3. A segítségeteket kérem a megoldáshoz.
|
Bejelentkezés
Hirdetés |