Fórum témák
» Több friss téma |
Már meglevő projekt esetében a Project -> Select Language Toolsuite menüben.
Új projekt létrehozásakor pedig a Projekt Wizard dobja fel ugyanezt az ablakot. Mellesleg nekem az a tapasztalatom, hogy a HiTech 9.60 fordító csak akkor használható, ha rendszergazda jogokkal indítom az MPLAB-ot.
Sziasztok! Köszi, nemsokára ki is próbálom. Most dolgozni kell, ilyen az élet
Sziasztok!
Szeretnék segítséget kérni az alábbi problémára! Hi-Tech C 9.70.-es fordítóról van szó, MPLAB 8.40-es környezetben. Szeretném a gyári beépített függvényeket használni, pl. itoa() nevezetű ANSI függvényt, amely az stdlib.h fejlécállományban van definiálva. Megadtam a Hi-Tech include mappa elérési útvonalát, lefordítás után a hibaüzenet az volt, hogy nem találja a linker a függvényt. Erre én belenéztem az stdlib.h állományba, melyben csak a függvény fejléce volt, amin igazából nem lepődtem meg, viszont azon már igen, hogy sehol sem találom a függvény kifejtését. Megnéztem az MCC-18 forítónál is ugyanezt a fejlécállományt, és a függvény definíciója alatt kommentben ez szerepelt:"The {\bf ltoa} function is an MPLAB-Cxx extension to the ANSI required libraries and may not be present in other implementations.", ezt én úgy értelmezem, hogy ez egy kiterjesztése a szükséges ANSI könyvtárnak. Gondolom a Hi-Tech- nél is ugyanez a helyzet. Arra lennék kíváncsi, hogy hogyan lehetne megoldani ezt a problémát! Idézet: „Megadtam a Hi-Tech include mappa elérési útvonalát, lefordítás után a hibaüzenet az volt, hogy nem találja a linker a függvényt.” Az include-ot hiába adod meg, ha a linkernek a lib mappa elérési útvonala hiányzik. A lib mappán belül a htpic--c.lpp lesz talán az, amire szükséged van. Idézet: „sehol sem találom a függvény kifejtését” A sources mappában van, bár erre konkrétan nincs szükséged a használathoz. (nálam a 9.65 verzió van fenn, de nem gondolom, hogy ebben komoly eltérés volna).
Szia!
Köszönöm a válaszodat! Úgy próbáltam én is, ahogy írod, csak elkövettem egy bagatell hibát : valamiért a fejemben a sok utánajárás és keresgélés miatt összemixeltem az itoa és utoa függvényt, amiből lett az utoi() nem létező függvény. Naná, hogy ezt nem találta! Mindenesetre köszönöm, hogy segítettél! Üdv.
Sziasztok!
Most kezdek Picinyezni C nyelven. Arra lennénk kiváncsi melyik a legjobb C fordító ami mplab alá berakható és sok példa van hozzá neten és lehetőleg FULL verziós legyen. Válaszokat előre is köszi
Abban az értelemben mindegyik "full verziós", hogy méretkorlátozás nélkül (tehát nagy projektekhez is) használhatók, de abban az értelemben minden ingyenes verzió korlátozott, hogy az optimalizálás "nem tökéletes" (pl. a GNU GCC-n alapuló C30-nál csak -O1 szintű).
Most nem kerülültünk a gyerekhez akkor szerintetek valamelyik c18 c30 verziót kellene használni?
Az a bajom velük hogy egy kód nagyság után letilt és neketek van igazi c18 vagy c30 ostok? eseleg c32.... vagy honnét lehet leszedni mert nagyon nincs az én guglimba. Előre is köszi
A C18 biztosan nem tilt le kódméret miatt. A procedural abstraction optimalizálást és az egyes chipekben létező bővített utasításkészlet használatát tiltja le 60 nap után. Persze ha annyira ki van centizve a kódméret, hogy ezek miatt beférne, nélkülük nem, akkor esetleg probléma lehet a dolog. A C30 és C32-t nemtudom, hogy azoknál mi a helyzet.
Értem, nagyon sokat segítettél, erre nem jöttem volna rá
ha lejár a 60 nap akkor megint telepítve megint bővítményes lesz lesz a c18? Másik kérdés ezt írja ki az icd2 (klón) ICDWarn0020: Invalid target device id (expected=0x21, read=0x0) ...Reading ICD Product ID Running ICD Self Test ...Passed MPLAB ICD 2 ready for next operation ezt az érvénytelen id ,hogy lehet megszüntetni ha meg kell egyátalán köszi előre is.
Nem kell neked az a bővítményes rész egyelőre. Új verzió megjelenésekor szokott újraindulni a 60 nap, de a gép dátumát visszaállítva is ismét működik.
Nem ismeri fel a chipet az ICD2, azért van ez az üzenet.
ellenőrizd az mclr, icspclk,icspdat lábakat, mi van rajtuk, táp rendben van-e
Ahogy mondani szoktak:
Van harom kovetelmeny: 1. Jo fordito sok peldaval 2. Full extra kodmeret es optimalizalas korlatozas nelkul 3. Ingyenes ...valaszthatod barmelyik kettot... Amugy SDCC jo igeret mindharom kovetelmenyre, bar az 1. ponton lehet ezzel kapcsolaban vitatkozni...
Hali
Ott irja az oldalon. Ez a 18Fxxx sorozathoz valo compiler. Udv Vili
Eddig eljutottam én is... mert, hogy ahhoz keresek hatékony és ingyenes fordítót!
Konkrétabban a jó vagy rossz tapasztalatok érdekelnek. P István
Hali
En csak a cc5x-et hasznaltam. 18-asokhoz ccs c-t hasznalok. Udv Vili
C18-al mi a gond? Hatékony, ingyenes és gyári.
Az SDCC és a C18 közül választanék, de láttam a CC8E-t ami pl. 16 és 24 bites lebegőpontos számokkal is tud dolgozni.
És olyan fordítót keresek amely kis kódot készít a matematikai műveleténél is, ez gondolkodóba ejtett! Üdv. P István
Mintha láttam volna C18-ban is valami ilyesmit, hogy csökkentett bitszámmal ábrázoljon. De nem emlékszem pontosan, lehet, hogy ez a long tipusra vonatkozott, most meg nincs itt, hogy megnézzem a beállításait.
Nem lehet azokat a matematikai műveleteket egész számokra hozni? Szerintem 32 biten ábrázolt egész számokkal is sokkal gyorsabban tud dolgozni egy kontroller, mint 16 biten ábrázolt lebegőpontos számokkal...
A gond nem az ábrázolással lesz, hanem a lassúsággal, és azzal, hogy néhány sorral tele lesz a memória. Kevés olyan feladat van amire lebegőpontos pontosság kell. Ha még is, szerintem arra nem PIC való.
Valóban nem sűrűn kell, de néha jól jön a lebegőpontos aritmetika! A helyzet sem annyira sötét, 16f690 és CCSC -vel is elboldogultam (LCM3) bár valóban eszik a programmemóriát a lebegőpontos műveletek, részben ezért is váltok 18fxxx-re a CCSC helyett pedig valami legális fordítóra.
Egyébként ha egy fordítónál a lebegőpontos számításokat nem optimalizálják normálisan, akkor a többi kód optimalizálástól mit lehet várni?
A lebegőpontos számításokat szerintem könyvtári függvények végzik, amik nem fordítási időben fordulnak le, csak a linker csapja hozzá, igy valószinűleg nem sok változás van a beállított optimalizálás eredményeképp. Szerintem....
Boldok karácsonyt mindenkinek
Valóban nem fogalmaztam pontosan, a könyvári függvények írása során végzett optimalizálásra akartam utalni, ami nagyon nem egyforma a különböző fordítóknál. A fordítás során végzett optimalizálás kevésbé izgat, (nem baj ha van) legfeljebb pl. a kettő hatványaival végzett osztás shiftelésre való cserélését nem bízom a fordítóra. Az meg külön idegesítő pl a CCSC-ben hogy az assembler betétbe is belenyúl a fordítás során...
Üdv. és boldog Karácsonyt!
Sziasztok
Szeretnék megtanulni programozni mikrovezérlőket, főleg mert sokmindent megoldható vele "egyszerűen ". Szóval C nyelvere gondoltam, hogy ezzel szeretném. A C nyelvhez nem értek, de sikerült beszereznem egy alapkönyvet.Gondolom ebből megtanulom a programozási alapokat.Mennyire különbözik a oic-es C a klasszikus számítógépes C től?Esetleg a pickezéshez kell valami külön programozási tudás?
Idézet: „Esetleg a pickezéshez kell valami külön programozási tudás?” A PIC-hez elektronikai tudás kell, a programozás az már csak részletkérdés
Hali! Hi_Tech C-ben hogyan kell az új PIC.h-t és a nekem szükséges pic16f887.h-t érvényesíteni a fordító számára? Ha csak bemásolom a többi .h mellé a fordító include mappábájában az nem jó. Fordításkor azt mondja, hogy Error[000] : Unknown flag -16F887. Ebből gondolom, hogy ez még így önmagában nem megoldás.
|
Bejelentkezés
Hirdetés |