Fórum témák
» Több friss téma |
Helló!
Van egy programom, ami elméletileg egy erősödő, majd egy elhalványodó led-et csinál. Fel is erősödik, de sajna nem halványul el, hanem egy idő után elkezd vibrálni. Azt hiszem a kivonás környékén lehet valami gond. Ha valakinek van tippe, azt szívesen fogadom.
Szervusz!
Ezt szándékosan írtad így? "if (nulla=kitoltes){" Ez értékadás is egyben...
Igen, így: if (nulla==kitoltes)
Feltételvizsgálatkor mindig dupla egyenlőség kell!
Köszönöm, ez volt az egyik hiba, illetve volt egy másik:
Az 53. sorban lévő else helyett egy if kellett és akkor már működik. Mondjuk nem értem, hogy az else-t miért nem ismerte fel.
"else" után csak utasítás vagy utasítás blokk állhat, "else if" után lehet feltételvizsgálat...
Üdv!
Eddig assemlyben programoztam picet 18f45k20 at és most szeretnék rá állni c-nyelven is a konya féle pic c nyelven könyvet vettem meg és valamiért nem akar működni ha megpróbálnom lefordítani ezt a hibát kapom: Debug build of project `C:\elso_pic\elso.mcp' failed. Remélem tud valaki segíteni a header filet is meg a lkr-t is hozzá adtam . Segítséget előre is köszi !!!!
Nem volt ott még valami hibaüzenet? Másold be az egész Build ablak tartalmát.
Itt a tlejes hiba ablak :
---------------------------------------------------------------------- Debug build of project `D:\elektro\pic_programok\pic18_rogs\C PROGRAMOK\elso\elso.mcp' started. Language tool versions: MPASMWIN.exe v5.43, mplink.exe v4.41, mplib.exe v4.41 Preprocessor symbol `__DEBUG' is defined. Mon Oct 24 13:53:52 2011 ---------------------------------------------------------------------- Clean: Deleting intermediary and output files. Clean: Deleted file "D:\elektro\pic_programok\pic18_rogs\C PROGRAMOK\elso\elso.mcs". Clean: Done. Build aborted. The project contains no source files. ---------------------------------------------------------------------- Debug build of project `D:\elektro\pic_programok\pic18_rogs\C PROGRAMOK\elso\elso.mcp' failed. Language tool versions: MPASMWIN.exe v5.43, mplink.exe v4.41, mplib.exe v4.41 Preprocessor symbol `__DEBUG' is defined. Mon Oct 24 13:53:53 2011 ---------------------------------------------------------------------- BUILD FAILED Itt pedig a programom ,csak egy rövidke program: #include main ( ) // Főprogram kezdete { PORTD = 0xFF; // PORTD-be FF hexadecimális szám mozgatása } Köszi előre is a segítséget
C nyelvű programot nem az Assembler-rel kellene fordítani! Rosszul lett megválasztva a nyelvi eszköz (Language Tools).
A forráskód bemásolásakor használd a Kód gombot, mert most nem látható, hogy mit akartál becsatolni az #include direktívával!
Igen közben rájöttem és újra csináltam a projectet és most is hibát kapok most ezt :
---------------------------------------------------------------------- Debug build of project `D:\elektro\pic_programok\pic18_rogs\C PROGRAMOK\elso\elso.mcp' started. Language tool versions: mpasmwin.exe v5.35, mplink.exe v4.35, mcc18.exe v3.35 Preprocessor symbol `__DEBUG' is defined. Mon Oct 24 14:03:23 2011 ---------------------------------------------------------------------- Clean: Deleting intermediary and output files. Clean: Deleted file "D:\elektro\pic_programok\pic18_rogs\C PROGRAMOK\elso\elso.mcs". Clean: Done. Executing: "C:\MCC18\bin\mcc18.exe" -p=18F45K20 "main.c" -fo="main.o" -D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v3.35 (evaluation) Copyright 2000-2010 Microchip Technology Inc. Days remaining until evaluation becomes feature limited: 57 D:\elektro\pic_programok\pic18_rogs\C PROGRAMOK\elso\main.c:4:Warning [2068] obsolete use of implicit 'int' detected D:\elektro\pic_programok\pic18_rogs\C PROGRAMOK\elso\main.c:4:Warning [2103] default startup code expects main function declared as 'void main (void)' Executing: "C:\MCC18\bin\mplink.exe" /l"C:\Program Files\Microchip\mplabc18\v3.40\lib" "C:\MCC18\bin\LKR\18f45k20_g.lkr" "main.o" /u_CRUNTIME /u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /o"elso.cof" /M"elso.map" /W MPLINK 4.35, Linker Copyright (c) 1998-2010 Microchip Technology Inc. Error - could not find file 'c018i.o'. Errors : 1 Link step failed. ---------------------------------------------------------------------- Debug build of project `D:\elektro\pic_programok\pic18_rogs\C PROGRAMOK\elso\elso.mcp' failed. Language tool versions: mpasmwin.exe v5.35, mplink.exe v4.35, mcc18.exe v3.35 Preprocessor symbol `__DEBUG' is defined. Mon Oct 24 14:03:27 2011 ---------------------------------------------------------------------- BUILD FAILED Itt a program : #include main ( ) // Főprogram kezdete { PORTD = 0xFF; // PORTD-be FF hexadecimális szám mozgatása }
nem hiszem el most sincs itt az include pedig mikor bemásoltam még ott volt hogy p18f45k20.h
Talán ha használnád a KÓD gombot a kódrészlet beillesztéséhez. Az asm feliratot meg írd át a TAG-ben C-re.
Oké eddig nem tudtam mi az, és mi az a TAG?
Nincsenek beállítva megfelelően az elérési útvonalak!
C program és a keretéül szolgáló MPLAB projekt létrehozásának lépéseit az MPLAB IDE v8.15a változatával én az alábbiak szerint hajtom végre: 1. A Project menüben válasszuk a Project Wizard-ot, majd a felbukkanó ablakban kattintsunk a Tovább gombra! 2. A Device mezőben válasszuk ki a PIC mikrovezérlő típusát, majd kattintsunk a Tovább gombra! 3. Az Active Toolsuite mezőben válasszuk a "Microchip C18 Toolsuite"-ot, majd Tovább! 4. A Create New Project lapon kattintsunk a Browse (tallózás) gombra, majd keressünk egy alkalmas helyet az új projektnek (pl. C:\PIC18\) és adjunk nevet az új projektnek (pl. ledflash)! Tovább... 5. Nem adunk hozzá forrásállományokat! Tovább... 6. Kattintsunk a Befejezés gombra! 7. A program beírásához a Project menüben válasszuk ki az "Add New File to Project" (új állomány hozzáadása a projekthez) menüpontot, és a felbukkanó ablakban adjuk meg az elérési útvonalat, valamint az új forrásállomány nevét (például legyen a neve ledflash.c, s helyezzük el a C:\PIC18 mappában). Írjuk be a programot! 8. A sikeres fordításhoz az elérési útvonalakat is be kell állítani. A Project menü Build Options -> Project (fordítási opciók az adott projektre vonatkozóan) menüpontban a felugró ablak Directories (Könyvtárak) fülre kattintva a legördülő listában válasszuk ki az Include Search Path (Becsatolások keresési útvonala) nevet, s a New gombra kattintva hozzunk létre egy új bejegyzést (a már meglevő bejegyzést dupla kattintással tehetjük szerkeszthetővé). Ez kell C:\Program Files\Microchip\MCC18\h (feltéve, ha ez a telepítési útvonalunk a C18 fordítóhoz). Hasonlóan állíthatjuk be a Library Search Path (programkönyvtárak keresési útvonala) esetében is az elérési útvonalat: C:\Program Files\Microchip\MCC18\lib (vagy ahová telepítettük). A Linker Script Path (Linker állományok kereséséi útvonala) most üresen maradhat, hiszen saját linker állományt használunk, megadott helyről. Figyelem! Mindig ügyeljünk rá, hogy a fordítás megkezdése előtt az MPLAB IDE menüjében a Release (kiadás) módot válasszük ki! A Debug (nyomkövetés) módban lefordított programok a hardveres nyomkövető eszköz (pl. PICkit2, ICD2 stb.) csatlakoztatása nélkül nem fog helyesen működni! A Projects menüben a Build All vagy Make menüpontra kattintva elindíthatjuk a fordítást. A Build Succeeded üzenet sikeres fordítást jelez. Minden más esetben valami hiba van, s a fordító vagy a linker az Output ablakban kiírja, hogy mi a baja. Az esetleges Warning kezdetű sorok nem hibát jelentenek, csak figyelmeztetnek valamire.
Köszi szépen a segítséget sikerült beállítani !
A hozzászólás írása ablakban megtalálod a kód gombot. Utána már látod a szögletes zárójelben a szöveget. Na, az tag.
Helló!
Ma kezdek 18f14k22-el. Van itt egy csomó-csomó dolog, amit nem értek, egyelőre csak lefuttattam egy próbát:
Kérdések: Mi az a PLL és hogyan lesz tőle gyorsabb a PIC? Az instrukciók futtatása lesz gyorsabb? A WDTPS = 1024 azt jelenti, hogy minden 1024. instrukció után fog resetelni a WDT? LVP = OFF // Single-Supply ICSP disabled Ez mibn bfojásolja a felprogramozást üzem közben? Ezzel tudom menet közben változtatni a frekvenciát? OSCCON=0b01100000; // real sleep, 8MHz int osc, pri clock És a PLL-t be tudom menet közben kapcsolni? Az egész config-ot be tudom sűríteni egyetlen sorba &-ekkel? Köszönöm
Ezekre a kerdesekre az adatlap tanulmanyozasa ad kimerito valaszt, ezek nem C kerdesek. A Config bitek jelentese az adatlapban vanak leirva. A PLL nem mukodik csak kulso oszci, es a belso oszci 8 es 16 MHz beallitasnal. a PLL tulajdonkeppen egy frekvecia tobbszorozo (jelen esetben csak 4x), am bizosithat magasabb frekvenciat mint az alkalmazott oszcillator frekvencia. Tehat 4-16 MHz oszci frekinel tudod jaratni a PIC-et 16-64 MHz kozott. A tobbi kerdest is jol megvalaszolja az adatlap. Erdemes olvasgatni.
Hello! Egy kis segítséget szeretnék kérni. Egy LCD kijelzővel küzdök, de sehogy sem akar összejönni. Így van kötve:
D4: RD0 D5: RD1 D6: RD2 D7: RD3 E: RC5 RS: RC4 Tud valaki erre vonatkozóan egy üzemképes forráskódot küldeni? Annyi elég, hogy egy szó (pl.:hello) megjelenik a kijelzőn. Régen programoztam már C nyelven, sajnos sokat felejtettem. Előre is köszönöm!
Milyen C fejlesztő környezetet használsz?
Shazbot Mork! Dupla regisztráció, Jack Byrnes? Ejnye!
Micro C. Miért lennék valakinek a dupla regisztrációja????
Bővebben: Link
és még az IP címetek is egyezik... Tán rémeket látok? Ha igen, elnézést kérek!!
Nem látsz rémeket, valóban egy helyen lakunk. De most az eredeti kérdésemre szeretnék értelmes választ kapni.
Véletlenül egy az IP.
Véletlenül egy helyen laktok. Véletlenül pont egy időben LCD meghajtási problémátok van. Véletlenül pont a HE kértek segítséget, véletlenül ugyanakkor. Véletlenül én ezt nem hiszem el. És még követelőző, rendre utasító a hangnem is.
Ha megnézed a példa projektjeit, akkor szerintem megtalálod az ihletet hozzá. Ugyanis jól használható az LCD example.
Egy AVR-es gcc-t használó projektet szeretnék migrálni PIC18F mcc18 alá.
A következő a bajom: AVR-hez megvannak az alábbi makróim, amik mennek rendesen:
Viszont mcc18 kiakad rájuk. Mondván, hogy macro
Annyi lenne a célom, hogy egy kódbázisból tudjak a makenak átadott argumentumok segítségével különböző hardwerekre forgatni. Mindezt úgy, hogy van minden hardwerhez egy adott headerfájl, amit a -D-vel átadott konstans alapján választ ki. Ebben lennének felsorolva a be kimenetek a fentebb említett vagy hasonló formában. |
Bejelentkezés
Hirdetés |