Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Szerintem nem ugyanarról beszélünk.
Azt hiszem, Szilárdnak az LCD_RUTIN.TXT include file maga az az asm, amiben lévő rutint szeretne meghívni. Ha valóban így van, akkor viszont semmi trükközésre nincs szükség, az include-dal beemelt kód ugyanúgy viselkedik, mintha a beemelő kódba beírtuk volna azt egy az egyben. Ha nem sikerül egy, az include-ban lévő rutin meghívása, akkor ott valami más lesz a gond, pl. kis-nagybetű eltérés vagy valami ilyesféle. A global-extern páros akkor kell, ha két külön asm file-ról van szó, amiket külön-külön fordítunk, valamint linker script segítségével linkelünk. Ehhez az MPLAB-ban a Source files alatt kell felsorolni mindkét asm-et, és a Linker script-hez meg kell adni valamit, ami alapján linkeli majd az asm-ek fordítása során elkészült objecteket.
A "GLOBAL KIIR" nem definiál KIIR címkét, azt ki kellene írni a rutin elejére, mondjuk a GLOBAL utáni sorba, pl. így:
Az asm-ben meg csupa nagybetűsként hivatkozz rá, ha így marad.
Olvasd el az oldalamon az erről szóló cikket!
Az nem lehet a probléma oka, hogy a meghívott kódbam a változók a meghívás helyén vannak deklarálva?
Mást már nem tudom, hogy akkor mi a probléma: nem tudod meghívni az INC-ben lévő rutint (szerinte nem létezik ilyen), vagy valami más hibaüzenetet kapsz?
Fordításkor a következő hibaüzenetet küldi:
Overwriting previous address contents (0051)
srácok árulja el valaki nekem hogy pbp-böl hogyan tudok asm-et vagy hex-et késziteni pic12f629-hez.
kezdek meghülyülni elöre is köszi Sergei
szSzilard,
Ebbol a kepernyo kepbol nem sok mindent tudtam kideriteni... Kerdesek 1. Linker scriptet hasznalsz-e 2. Az INC-en belul vannak-e kod vagy memoria elhelyezesre valo direktivak elhelyezve (org vagy code vagy cblock stb stb stb) 3. Az include az nem mas, mint a file beszurasa az adott helyre a forrasban kozvetlen a forditas elott. Kb olyan, mintha Ctrl+C es Ctrl+V -vel behelyezned az INC file tartalmat arra a helyre ahol az #inlcude talalhato... Tehat ha igy csinalod, akkor nyugodtan a kododa betehetned ezt, pl: akarhol is van ez vagy ehhez hasonlo:
Szebb lenne amugy kulon asm, azt felvenni a projectedbe, es az INC csak az externeket tartalmazza ahogy azt mar emlegettem korabban...
Ez a hibaüzenet számomra pont valami olyasmire utal, amire trudnai is rámutatott, nevezetesen, hogy az adott címterületre már korábban valamit elhelyeztél (pl. az include-ban), és ezért akad el a fordítás.
Talán használd a pic mikro basic programot. Ha jól emlékszem 2k-ig free.
azzal küzdök már lassan 2 orája de nem engedi a pic12f629-et nincs benne ilyen nem támogatja
esetleg más ötlet? szerk:meg nekem 14 KB a cucc
Azt hiszem, sikerült majdnem működésre bírni az oshon programozómat. A 16f877a-val jónak tűnik, de én egy 16f628a-t programoznék, és ezzel gond van. A vdd lámpa nem világít, ha rá van kötve a chipre, és annak bármelyik lábára kötve van valami. Tehát ha a vdd be van kapcsolva, és a vss, vagy akár a data láb be van kötve a chipre, nem világít a vdd lámpa és nem kap áramot. Mintha zárlatos lenne, de mint írtam, a nagyobb chippel okés (tudom, hogy más a lábkiosztás, jól kötöttem be mindkettőt). Remélem érthető a gondom. Lehetséges, hogy a sok próbálkozással megöltem a 16f628a-t? Akkor produkálhat ilyet? Vagy mi lehet az oka?
Idézet: „meg nekem 14 KB a cucc” Gondolom nem ismered a PIC-eket, mert akkor biztos tudnád, hogy nem a forrás fájl mérete határozza meg a lefordított gépikód méretét, de még a hexa állomány mérete sem ad erről infót. Csak miután betöltöd az égető szoftverbe, vagy az MPLAB-ba, akkor tudod meg, hogy a firmware valójában mekkora. Idézet: „esetleg más ötlet?” Mivel sejtésem szerint ezt a forrást nem Te írtad, ezért ha nem találsz megfelelő programot a lefordításához, akkor nincs más ötlet! Ha magad akarsz programozni, akkor felejtsd el ezeket a kevésbé támogatott és kevés ember által ismert fejlesztő környezeteket és inkább használj gyárit! (MPLAB asm, C18!) Ha legközelebb valamilyen kész projectet akarsz utánépíteni, akkor olyanba kezdj, aminek megvan a hex állománya, és ne akard módosítani a forrást, hacsak nem MPLAB-ban készült gyári fordítókkal. Idézet: „A vdd lámpa nem világít, ha rá van kötve a chipre...” Ebben az esetben a lehetséges hibák. 1. Rossz a PIC. 2. Zálat van a PIC nyákján(már ha van neki)! 3. Fordítva kötöd a tápot a PIC-re. Idézet: „Azt hiszem, sikerült majdnem működésre bírni az oshon programozómat.” Szerintem, az nem majdnem működik, mert nem az égetőáramkör hibája a jelenség, ez szinte tuti! Egyébként ne erőltesd, mert valamit tönkre fog tenni a zárlat!
Sziasztok!
Van egy NIGEL nevű fickó, az ő PIC-es projektjeit építem sorban és most jön a soros kommunikációs panelka. Szereztem egy MAX232N jelű IC-t. Nigel oldalán azonban tök más lábkiosztások vannak, mint a datasheet-ben. Megnéznétek? Mindkettőt csatolom alul... Üdv és köszi! gabesz
Üdv!
Én nem látok semmi különbséget.... számozások jók.... kondik bekötése jó.... RX/TX RXD/TXD bekötése is jó...
Ha nem azt néznéd, hogy hová van rajzolva egy láb, hanem a láb mellé írt számokat, akkor nem vonnál le ilyen téves és vicces következtetéseket. A másik, hogy ez csont kezdő kérdés, és semmi köze a PIC-hez!
Köszi a válaszokat!
Nálam annyi különbség látható, hogy nincs C3 és C4, helyette számozás szerint más van. Sőt a pdf szerinti 8 és 9 is megfelel in ill. out lábnak, de a 7 és 10 a pdf szerint éppen ennek az ellentettje. a rajzon meg a 7 az in és 10 az out. Ezért mertem kérdezni. Gondoltam, ha már PIC-es kapcsolásokat építek, belefér egy jól látogatott PIC-es topic-ba és senki nem lesz megint megszóló... Tévedtem. Idézet: „Nálam annyi különbség látható, hogy nincs C3 és C4, helyette számozás szerint más van.” Mi az a más? Idézet: „a rajzon meg a 7 az in és 10 az out.” Ebben biztos vagy?
szia.
mindenben igazad van.mivel már régota porosodik a projekt igy gondoltam kérek segitséget pár embertöl.végülis kaptam csak a végeredményt nem látom mivel nem tudom leforditani a kodot.az eredeti hex koddal meg se mukkan a projekt és innen jött az elvetemült ötlet hogy piszkáljunk bele picit. ha nem találok forditot akkor véglegesen elteszem a fiok mélyére a projektet.
Szerintem csak az zavar meg, hogy C4- -t hasznal IC lab jelolesnek VS- helyett, C3+ -t VS+ helyett stb. Ne foglalkozz vele, nezd meg a PDF-et amit kuldtel, abban a Figure 4-nel a kapcsolast es hasonlitsd ossze azzal amit mellekeltel - lathatod, hogy ugyanaz...
Szasztok!
Ford autórádiómhoz szeretnék AUX bemenetet készíteni, CD-tár bemenetén keresztül. A problémam az, hogy el kell hitetni a fejegységgel, hogy rá van kötve a CD-tár. Találtam egy oldalt, ahol le van írva a protokoll működése, de itt el is akadtam. Itt van az oldal: Ford ACP protokoll Kérdés: hogyan lehetne összehozni valamit, ami kommunikál a fejegységgel. Csak sima MP3-as lejátszót akarok rákötni, nem kell, hogy kijelezze a számokat,meg hasonlók. Gondolom mikrokontrollerrel összehozható valami. Ha tudtok, segítsetek!
Azért a kondik értékére figyelj, az adatlap szerinti kondikkal rakd ösze, nekem a NIGEL fickó kondijai nagynak tűnnek.
Sziasztok! Van arra technikai megoldas, hogy PIC (konkretan 16F877), ne felejtsen el register tartalmat aramszunet idejere?
Kosz
Csak úgy, hogy leállás előtt átírod a saját (vagy külső) EEPROM-jába.
Van többféle is. Egyik megoldás, hogy akku vagy esetleg nagykapacitású kondenzátor felhasználásával az áramszünet idejére biztosítod az energiaellátását (előbbi hosszabb, utóbbi rövidebb áramszünethez). Másik megoldás, hogy érzékeled az áramszünetet, és a lényeges regisztereket elmented az EEPROM memóriába. Természetesen amíg az EEPROM írás tart, addig is biztosítani kell az energiaellátást, de ez megoldható egy nagyobb kondenzátor+schottky dióda segítségével.
Nekem is volt ez gond, de vegulis a kulso radios egyseg mellett dontottem, ami a radion keresztul szolaltathato meg. Van benne mp3 lejatszo is, usb es memoriakartya-olvaso.
itt egy Link
Kevésbé PIC de azért mikrovezérlős kérdés.
Foglalkozik közületek valaki Motorola (Freescale) controllerekkel?
Én tervezem, már be is szereztem párat, de gondolom ez nem segít Téged tovább.
|
Bejelentkezés
Hirdetés |