Fórum témák
» Több friss téma |
Én egy dolog miatt kacsintgatok feléjük...úgy hallottam (talán Watt írta) hogy azoknál már nincs memória lapozás. Na, ez az ami a "nemszeretem" kategóriába tartozik nálam a 16F eknél, és sok szívást is okozott már..
Memória lapozás továbbra is van, ezen a téren az az előny, hogy az SFR regiszterek (mint PORTB, INTCON, stb.) elérhetőek memóriabanktól függetlenül is. Ez sem teljesen igaz, mert ez a zóna csak 128 bájtos, és van kontroller, aminek ennél több SFR-je van, de ilyen kontrollerből kevés van, talán a CAN buszosok ilyenek. Valamint egy memóriabank 256 bájtos (szemben a 96-al a 16F-nél), illetve léteznek utasítások, amik banktól függetlenül el tudják érni a teljes memóriaterületet (MOVFF).
Köszi, akkor én értettem félre valamit. majd visszakeresem mit írt Watt mester anno, mert amikor elakadtam a 16F eknél a memória lapozással akkor Ő javasolta az áttérést a 18F ekre pont e miatt.
Köszi!
És a késleltetésre tud valaki valamit mondani?
Ha nem akarsz a lapozással, a kevés memóriával, meg a kevés munkaregiszterrel szívni, akkor használj PIC24-et! Messze jobban programozható assembly nyelven, mint bármelyik más 8-bites PIC. Ott van hardveres szorzó és osztó utasítás is, ill. 16-bites portok és regiszterek. Ha rákapsz az ízére, soha többé nem is akarsz PIC18-cal, vagy kisebbel szenvedni.
(Egy kezdő számára annyi hátránya van, hogy kevesebb ember tud neki segíteni, mivel kevesebben használják. Talán félnek tőle - ok nélkül.)
Szia!
A C fordító sok mindent megold a programozó helyett - néha ez a hátránya is. A változókat egyszerűen lehet deklarálni, nem kell törődnöd a helyhoglalással - majd csak akkor, ha a linker vezérlő állományát kell majd módosítanod. A változók lehetnek kezdeti értékkel bíró és kezdőérték nélküliek. A kezdőértéket a program (nem általad megírt rész) kezdetén beállítja, a kezdő érték nélülinél nem szabad kihasználni, hogy milyen értéket kap. A program kezdőcímét sem úgy kell beállítani, ahogy asm -ben. A program memória címek kiadódnak, kivétel a megszakíráskezelő eljárás, amit az interrupt kiegészítővel (fordítófüggő a név) kell megjelölni. A asm clrf PORTB C-ben PORTB = 0; formát ölt. Nem kell nagy ágyúval kis verébre lőni. Egy - két összetettebb számítás megoldható a 16F -eken is. A feladatnak kitűzött rutin 16F648A -n tesztadat beállítással 165 programszó assembly -ben. A bemenő és kimenő adatokon kívül 11 byte adatmemória kell neki.
A késleltetéshez szerintem a leg egyszerűbb az egymásba ágyazódó regiszter csökkentgető rutin, amit bizonyára látsz a példa programokban, ezt minimum egy regiszterrel, de akár sokkal többel is lehet használni, akár évtizedes időzítéseket is lehet csinálni... A 11.4.15 pontban leírtak szerint Link Üdv!
Szia!
Lehet számolni is, de a legegyszerűbb, ha leszimulálod az MPLAB szimulátorával, keress vissza, volt már róla szó! Steve
Biztos hogy meg lehet oldani ASM ben is (mint ahogy a Te példád is mutatja, (köszönöm most próbálgatom...) Egyelőre még "nem megyen a megyen" de szerintem a kód hibátlan csak én vagyok a béna... ), csak ehhez fullra tisztában kéne lenni a bináris alapműveletekkel. Ha egyszer ráérzek az ízére akkor menni fog, csak meg kell tanulnom át állítanom az agyam erre a bináris gondolkodásmódra szerintem...
Zsora: Megmondom a frankót én is félek tőle.. Még a 16F ekkel is szenvedek ahol gondolom fele annyi utasítással kell tisztában lenni mint a 24F ek nél. Meg ezekhez van meg mindenem, fejlesztő meg demoboardok...stb. És én amúgy is csak amolyan "hobbista szinten" próbálok programozgatni, nem vagyok profi. Egy hardveres szorzót / osztót szerintem nem nagyon tudnék kihasználni. Bár ennek ellent mond a mostani példa...De a 24F ekkel kapcsolatban egy fórumtársunktól elég sok negatívumot is hallottam..idézem..: Idézet: „..A 24F már csak 3.3V -os és egy port sem terhelhető már 20mA -rel, jöhet az illesztések (újra)tervezése. Újraprogramozhatósági számuk igen alacsony. Új programozó, emulátor kell hozzájuk, ami förtelmesre sikeredett (PicKit3)....stb ” Idézet: [/quote]„De a 24F ekkel kapcsolatban egy fórumtársunktól elég sok negatívumot is hallottam..idézem[quote]A 24F már csak 3.3V -os és egy port sem terhelhető már 20mA -rel, jöhet az illesztések (újra)tervezése. Újraprogramozhatósági számuk igen alacsony. Új programozó, emulátor kell hozzájuk, ami förtelmesre sikeredett (PicKit3)....stb” Azért ennyire nem vészes a helyzet
Bocs, lemaradt a link. Bővebben: Link
"...ahol gondolom fele annyi utasítással kell tisztában lenni mint a 24F ek nél."
Épp ebben tévednek sokan, mivel pont hogy könnyebb a programozásuk az ésszerűbb, használhatóbb és könnyebben megjegyezhető utasításkészletük miatt. Ráadásul a C nyelv is jobban fekszik nekik. (Ezt most nem részletezem.) Én többnyire csak előnyöket látok a 8-bitesekkel szemben. Ha viszont te 5V-os környezetet használsz, kis programokkal, és a cuccaid is megvannak a 8-bitesekhez, akkor megértem, hogy nem szívesen állnál át.
Ez elgondolkoztató, ha egyszerűbb velük dolgozni és ráadásul azt mondjátok "nem annyira vészes" a helyzet, akkor ki kéne próbálni. De mivel én sokszor még a 8 bit el is bajban vagyok, lehet magas lenne a léc. Egyébként valóban a 8 bit es kontrollerekhez van meg mindenem. Mikor elkezdtem összevásárolgatni a PIC ekhez való dolgaimat (sok mindent potyára is..pl. vettem anno "Picstart Plus" programozót...csak tudnám minek? ráadásul jó drágán... ), talán nem is nagyon volt még 18 as széria, 24 es meg főleg nem. Vagy csak esetleg "mutatóba." De a váltáshoz egy PicKit3 at minimum vennem kell + egy demo boardot, de lehet jár is hozzá, anno a PicKit2 höz kaptam. Majd körül járom. Nem lehet egy ökör ára, anno a PicKit2 is 5 ezer körül volt ha jól emlékszem. ( a Picstart+ az volt vagy 60 ha jól emlékszem, és itt vigyorog rajtam porosan a polcon...talán 2 x használtam összesen) Viszont én pont hogy nem 5V os környezetben dolgozom, inkább az 1 cellás LI-ON akkuk tartományában. Éppen ezért nekem főleg jó a 3,3 V os tápfesz. A normál 5V os típusoknál ok hogy elketyeg a kontroller 3 V ról is, viszont a BOR t nem tudom bekapcsolni (legalábbis pl. a F628A/648A k nál (4,5V BOR ) amiket én 80 % ban használok, nem), és ebből volt már gondom. Nem tudtam megkerülni azzal sem hogy LF típust használok, mert ettől még ugyanúgy 4,5 V nál kapcsol a BOR, tehát el sem indul a program 3,3 V ról mert állandóan reset ben van a kontroller. Nem is értem ez esetben mi értelme van gyártani az LF szériát, ennek akkor lenne értelme ha állítani lehetne a BOR feszültségét mint egyes újabb típusoknál. BOR nélkül meg néha olyanokat produkált a programom hogy csak úgy pislogtam...Nem is oldódott meg azóta sem ez a probléma, meg is tapostam azt a cuccot mérgemben ahogy ígértem.... át kellett volna tervezni másik kontroller típusra, olyanra ahol állítható a BOR feszültségszintje. Ahogy itt páran javasolták, de nem ért ennyit az egész. "Tanulópénznek" jó volt ez a kaland is...
Szia! Idézet: Azért ne süllyedj a bakter szintjére (Indul a bakterház, alapmű) ! „meg is tapostam azt a cuccot mérgemben ahogy ígértem.” Steve
Természetesen ismerem, "bakterház fan" vagyok. A másik kedvenceim az "Egészséges Erotica" és a "Csapd le csacsi" ezek is alapmű kategória... )
Idézet: Definiícoó szerint a hardware az, amibe bele lehet rúgni. A szoftverbe nehéz volna... „Nem is oldódott meg azóta sem ez a probléma, meg is tapostam azt a cuccot mérgemben ahogy ígértem....” Idézet: ez jó !„Definiícoó szerint” Steve
A PIC24-ek közül melyik típust ajánlod, amivel érdemes kezdeni az ismerkedést. Úgy látom nem sok DIP tokozású van köztük.
Igaz, az eszembe se jutott hogy kinyomtassam a hibás kódomat és összetépjem. Akkor a hardver megmaradt volna, viszont ettől még ugyanúgy nem működne normálisan. Tehát ugyanott vagyok, illetve így most mínusz egy SSOP LF648A val és pár db kommersz alkatrésszel.. Mert persze a taposás előtt a SIM900 GSM modult lementettem róla azért így a válság közepén(elején?)
Ha ez megnyugtat, én a PICkit2-t vágtam a falhoz.
Így legalább kénytelen voltam újat csinálni.
Én nem vagyok ennyire profi, viszont találékony. Mikor a Pickit2 valamiért elfelejtette a saját firmware ét, a horror áron beszerzett Picstart Plus programozóval gyömöszöltem vissza bele programját. Ehhez csak ki kellett vezetnem a Pickit2 ICSP lábait meg persze összepókolni a PicstartPlus megfelelő poprtjaival...Teljesen (még a mostaninál is.. ) lámaként nem volt kis feladat, még bele is izzadtam ha jól emlékszem, igaz nyár volt...
Jól néz ki ez a klón...De miért nem inkább SMD vel és USB "B" vel csináltad? Kisebb laposabb...stb.
Furatszerelt alkatrész "alatt" több vezetősáv elfér, így kevesebbet kellett tervezni (amit anno terveztem, az elég gagyin nézett ki).
Viszont ezen "B" típusú USB csati van. Szerintem Te az "A" típusúra gondoltál. Azért raktam ilyet, mert ez olyan szabványféle, vagyis a Slave eszközök "B" típusú USB csatlakozóval kapcsolódnak a Host-hoz (PC). USB csatik Szerk.: ja és ilyen kábelem van itthon.
Szia!
Azt hiszem USB mini-B -re gondolt.
"dinokal":
Így van, én erre gondoltam. "zenetom": Tény hogy könnyebb tervezni furatszerelt alkatrészekkel, de én inkább SMD párti vagyok... A felületszerelt panelekről valamiért mindig a sokol rádiók jutnak eszembe a kapalapos germánium tranzisztorokkal..Ez a te paneledre nem vonatkozik, tök jól néz ki, csak valamiért én idegenkedem a furatszerelt panelektől. Meg furkálni is kell...stb, szerintem macerásabb. Persze ha eleve két oldalon dolgozol és házi gyártmányú a panel (tehát nem furat galván) akkor direkt jó is lehet egy alkatrészláb VIA helyett..pl..Tehát megvannak az előnyei is, ez kétségtelen. És SMD kétoldalas házgyári panelnál sem lehet megúszni a furkálást, tehát ez esetben mindegy is...
Üdv!
PIC-el csináltam egy áramkört, amivel FET segítségével PWM szabályozni lehet 12V-ot, ami hiányzik még belőle az, hogy jó lenne, ha a PICel a kimenő áramot is meg tudnám mérni. Ehhez gondolom valami átlagoló áramkör kéne, mivel ugye a kimeneten több khz-n megy a szaggatás, szóval ötletem sincs, hogy ezt hogy lehetne megcsinálni.. Valakinek lenne valami ötlete?
Kezdésnek talán valami egyszerűbb, kis lábszámú, egyszerű bekötésű modell ajánlott, ami furatszerelt változatban is kapható. Pl. PIC24F04KA201 vagy valami hasonló. Elég nagy a választék. Ha gyors proci kell; akkor H ill. E sorozat. Ha sok perifériát, ill. grafikus LCD-t vezérelnél, akkor; F sorozat. Ha kicsi és kisfogyasztású kütyüt akarsz; akkor F/KA ill. F/KL sorozat. De nyugodtan használhatsz dsPIC30-at, vagy dsPIC33-at is, mert azok nagymértékben program- és lábkompatibilisek a PIC24-es sorozattal. Pl. én egy régebbi panelem 100 lábú 24H-s prociját minden további nélkül kicserélhetem egy hasonló dsPIC33-asra, és úgy már rendelkezésemre áll a hardveres lebegőpontos aritmetika. (Pont erre lenne szükséged neked is a GPS koordináták számolásához, nem?)
Én is SMD párti vagyok, főleg míg nem volt rendes fúróm, viszont nálam az adott áramkör dönti el, hogy melyik módszerrel egyszerűbb megtervezni a nyákot.
A megszaggatott 12V-ot tekerencs és kondi segítségével simítod, és sorba kötsz egy kis ellenállású árammérő ellenállást, aminek méred a két lába közötti feszültségét.
|
Bejelentkezés
Hirdetés |