Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
ezt dobja ki a fordító ez nem az én programom csak szeretném használni
A csatolt állományban nincs egy betű sem!
Amit írtam, nem véletlenül írtam, neked szólt!
Sziveskedj a hozzászólásaidnál a "válasz"-t használni és nagybetűt, írásjelet használni!
Értem bocs, akkor az a baj hogy nagy betűvel kell írni és jó lesz?
Igen, az SFR regiszterek nevét nagybetűvel kell írni. A leggyorsabban úgy javíthatod ki, hogy az egész pogramot kijelölöd és nyomsz egy "CTRL+3"-at.
Amit ki kellene javitani, hogy a CBLOCK -ban nem vesszokkel kell elvalasztani a valtozo neveket, hanem uj sorral.
Masik, hogy valoszinuleg a kis-nagybetu megkulonboztetes be van kapcsolva. Javasolnam, hogy kapcsoldd ki, de ennek ellenere erdemes lenne a PORTB, TRISB stb ezeket nagy betukkel irni (konvencio).
Marad ott még egy pár figyelmeztetés (pl, amire trudnai is felhívta a figyelmedet) azokat sem árt értelmezni...
Sziasztok!
Valaki tudna segíteni lefordítani,mert nekem sehogyan sem sikerül. Köszönöm!
1. Új projektet kell létrehozni a Projekt Varázslóval dsPIC30F4011-et kell kiválasztani, MPASM30 fordítót, s hozzá kell adni az összes állományt (.inc és .s).
2. Be kell állítani a hozzáférési útvonalakat: Project/Build Options/Project/Directories: Assembler Include Search Path = C:\Program Files\Microchip\C30\support\dsPIC30F\inc Library Search Path: C:\Program Files\Microchip\C30\lib és C:\Program Files\Microchip\C30\support\dsPIC30F\gld 3. Azután ugyanott, a Dirctories helyett az MPLAB Link30 fülde kattintva legalul: Use Alternate Settings-re pipa, s az alsó sor legvégére kell egy: "-ldsp" opció (idézőjel nélkül). Így nálam MPLAB 8.15a alatt lefordul, persze azt nem tudom garantálni, hogy értelmes dolgot csinál...
Mindent úgy csináltam ahogy írtad,de valamiért nem lett jó. Mi lehet a hiba?
Az a ket INC file nincs benne az eleresi utakban. Be kellene allitani a project beallitasoknal.
Pedig beállítottam. Ahogy icserny fórumtárs leírta. Mindent úgy csináltam.
Tévedés ne essék, a beállítások nem ezen .inc állományok eléréséhez, hanem a rendszer (értsd C30) állományainak eléréséhez, köztük a dsPIC30 .gld és a libdsp könyvtár eléréséhez kellettek.
A két állományt, amit "nem talál" a fordító látod a projekt ablakban (hozzá vannak adva a projekthez)? Ha nem, akkor add hozzá! (Project menü, Add Files to Project). Ha pedig látod a projekt ablakban, és mégis fennáll a probléma, akkor add hozzá az Assembler Include Search Path-hoz a forrásfájljaid elérési útvonalát is!
Nah, aki szereti rugdosni a Pic-es C fordítókat, annak itt egy újabb gyöngyszem: a disassembly listingben tökre kimaradt egy RLF Kb 15 percig néztem, nagyon nem értettem hogy 1db BCF -el hogy a túróban szoroz, vagy shiftel. Érdekes módon a .lst állományban meg már jól van, meg persze a program is helyesen fordult le, csak a disassembly hibás.
Közben én is találtam egy érdekességet, méghozzá a PICDEM2+ fejlesztőpanellel kapcsolatban. ( Illetve nem csak ennél fordulhat elő, lehet már találkoztatok vele, nem tudom, nekem új volt ).
Hiába próbálgattam a panelon az RB0 megszakítás gyakorlását, semmire nem reagált ( a LED-ek is a PORTB -re vannak kötve ), ellentétben egy dugaszolós próbapanellal, ahol azért össze sikerült eszkábálnom egy programnak nevezhető kódhalmazt ( És véletlen, mert a led-eket a PORTD -re kötöttem ). A microchip fórumán keresgettem, hátha volt valakinek is ilyesmi tapasztalata, és nagy meglepetésemre egy ilyet sikerült találnom: Idézet: „The Vih for TTL is 2V (assuming PIC is running off 5V, which PICDEM 2 is), and Vih for Schmitt is .8Vdd, so assume 4V. That LED is pulling the input voltage down to less than 4V, so technically that pin never sees the falling transition required for the interrupt.” Ha jól értelmezem ez annyit jelent, hogy a LED -ek a bemenő feszültséget 4V -ra húzzák le sacc per kb., ezért technikailag nem jön össze a lefutó élre megszakítás?
Egész pontosan: 4 V-nál alacsonyabb feszültségre húzzák le... (4 V-nál kezdődne a magas szint, mivel 0.8*5V = 4 V)
Igen, emiatt mindig alacsony szintűnek érzi a bemenetet.
Egy normál LED nyitófesze 1...2V színétől függően. Ez nem engedi kialakulni a magas szintet, ha felhúzó ellenálláson keresztül emeljük a feszt a bemeneten. Nincs a próba panelon valami jumper amivel le lehet választani őket? Esetleg kellő körültekintés mellett, ha meghajtod a LED-et úgy, hogy terhelhető 5V kerül a bemenetre, akkor a LED világítani fog, és a szint is kialakul, mert a LED előtét ellenállásán esni fog a fesz ha megvan a kellő terhelhetősége a forrásnak, egyébként csak osztókén szerepel.
Idézet: „Nincs a próba panelon valami jumper amivel le lehet választani őket?” A User Guide rajza szerint a J6 jumper az összes LED-et leválasztja a földről. Tehát megoldható, ha nagyon muszáj...
Valamiért nem sikerül. Pedig mindent úgy csinálok,de folyamatosan hibára áll. Mit bénázok el??
Köszönöm a pontosításokat! Ragaszkodtam a PICDEM -es próbapanelhoz, hogy láthassam miként működik "élőben" a programom ( ahogy írtam, aztán dugaszolós panelon összeraktam ez után ) és valamiért - tapasztalati, elméleti hiányosságok - ilyenre nem is gondoltam.
Tegnap már ajánlottam, hogy "add hozzá az Assembler Include Search Path-hoz a forrásfájljaid elérési útvonalát is"!
Ha így sem megy, akkor tedd át a source könyvtáradat a C: gyökerébe, vagy közel hozzá, és ne legyen a hozzáférési útvonalban sem ékezetes betű, sem szóköz.
Többszöri próba után ezt kaptam hibaüzenetbe. Ezt nem hiszem el, hogy valami ennyire ne sikerüljön.
A -ldsp opciónál a kötőjel elé tegyél egy szóközt, ne írd egybe az előtte levő opcióval!
Nem sikerült. Sehogyan nem értem hogy végig pörgettem egy mindent és nem. Nem vagyok értetlen,de ez kifogott rajtam. Két napja ezzel szenvedek.
Köszönöm a segítséget! Ha esetleg megkérhetnélek arra, lefordítanád nekem?
Mar tobbszor szerettem vlna jelezni, hogy en nem birom elolvasni a kep mellekleteiden a betuket csak ha kinagyitom 2x-ere (viszont akkor is a jpeg tomorites miatt eleg furak a betuk). Jobb lenne szerintem ha a szoveget kimasolnad egy szoveg file-ba es azt csatolnad es igy raadasul meg le is tudnad csokkenteni a 100KB-os meretu csatolmanyt olyan 2-3KB max-ra...
Kimásoltam. Kíváncsi vagyok mi lehet a hiba.
|
Bejelentkezés
Hirdetés |