laStudiu Postat Aprilie 23, 2007 Autor Partajează Postat Aprilie 23, 2007 Am facut un program in Asembler pt 16F871 si este cam lung (am foarte multe MACRO definitii). Vreau sa stiu cum as putea sa mut MACRO definitiile in alt fisier, ca eu am facut o incercare directa si mi-a dat la erori de te sperii. Link spre comentariu
cirip Postat Aprilie 23, 2007 Partajează Postat Aprilie 23, 2007 Vreau sa stiu cum as putea sa mut MACRO definitiile in alt fisier, ca eu am facut o incercare directa si mi-a dat la erori de te sperii. Din exprimare eu nu inteleg ce ai facut exact, dar ca sa aduni macrourile in alt fisier, apoi sa le aduci in sursa ta, foloseste directiva #include. De asemenea, nu uita ca MPLAB vrea ca macrourile sa fie definite inainte de a fi folosite. Cel mai indicat e sa faci includul la inceput, inaintea codului asm pr. zis, ca sa nu ai bataie de cap. Cirip Link spre comentariu
laStudiu Postat Aprilie 23, 2007 Autor Partajează Postat Aprilie 23, 2007 Vreau sa stiu cum as putea sa mut MACRO definitiile in alt fisier, ca eu am facut o incercare directa si mi-a dat la erori de te sperii. Din exprimare eu nu inteleg ce ai facut exact, dar ca sa aduni macrourile in alt fisier, apoi sa le aduci in sursa ta, foloseste directiva #include. De asemenea, nu uita ca MPLAB vrea ca macrourile sa fie definite inainte de a fi folosite. Cel mai indicat e sa faci includul la inceput, inaintea codului asm pr. zis, ca sa nu ai bataie de cap. Ciripam facut macro1.asm si l-am inclus si in proiect la Source Files, am introdus linia "#include "macro1.asm" ... nu am erori dar totusi da:"Skipping link step. The project contains no linker script.BUILD FAILED: Sun Apr 23 17:35:44 2006" Link spre comentariu
laStudiu Postat Aprilie 23, 2007 Autor Partajează Postat Aprilie 23, 2007 Am scos macro1.asm din Source Files si merge ....Nu inteleg totusi de ce nu merge ca si in C, sa compilezi mai multe fisiere intr-un proiect Link spre comentariu
cirip Postat Aprilie 23, 2007 Partajează Postat Aprilie 23, 2007 Cred ca e alta problema. Suna ca si cum nu ai setata calea catre fisierele .lkr. Mergi la Project - Select tool locations sau asa ceva. Cauta (nu stiu pe dinafara) unde se seteaza calea ptr fisierele .inc, .lkr si ce mai are el nevoie.Cirip Link spre comentariu
laStudiu Postat Aprilie 23, 2007 Autor Partajează Postat Aprilie 23, 2007 Cu 1 singur fisier sursa in care am linia: "#include e:\[calea]\macro1.asm" merge.Eu sunt curios cum se poate face un proiect fara sa includ linia de mai sus ci sa adaug fisierul la fisierele sursa din proiect -- daca se poate sa fie doua sau mai multe fisiere *.asm in proiect. Link spre comentariu
CristianC Postat Aprilie 24, 2007 Partajează Postat Aprilie 24, 2007 Daca e un fisier cu MACRO-uri si nu contine cod sursa, foloseste extensia .inc (ex: macro.inc). Acesta este echivalentul fisierelor .h din C Ca sa poti folosi mai multe fisiere .asm trebuie sa incluzi in proiect si fisierul .lkr corespunzator PIC-ului tau. Fisierele .lkr le gasesti in directorul Microchip\MPASM Suite\LKR Link spre comentariu
laStudiu Postat Aprilie 26, 2007 Autor Partajează Postat Aprilie 26, 2007 In PICCLite exista corespondent pentru op. pe bit gen:bsf PORTC, 4 ? Link spre comentariu
Cristiano Postat Aprilie 26, 2007 Partajează Postat Aprilie 26, 2007 In PICCLite exista corespondent pentru op. pe bit gen:bsf PORTC, 4 ?Desigur:RC4 = 1;sauPORTC = PORTC | 0x10;sau asm("bsf _PORTC, 4");[/code] Link spre comentariu
Liviu M Postat Aprilie 27, 2007 Partajează Postat Aprilie 27, 2007 Chiar si pentru picclite exista manual de utilizare. Un mic extras: 3.2.4 Bit InstructionsWherever possible, HI-TECH C will attempt to use the PIC bit instructions. For example, whenusing a bitwise operator and a mask to alter a bit within an integral type, the compiler will check themask value to determine if a bit instruction can achieve the same functionality.unsigned int foo;foo |= 0x40;will produce the instruction:bsf _foo,6To set or clear individual bits within integral type, the following macros could be used:#define bitset(var,bitno) ((var) |= 1 < < (bitno))#define bitclr(var,bitno) ((var) &= ~(1 < < (bitno)))To perform the same operation as above, the bitset macro could be employed as follows:bitset(foo,6); Link spre comentariu
laStudiu Postat Mai 5, 2007 Autor Partajează Postat Mai 5, 2007 Se intampla ceva ciudat cu PIC-ul : dupa ce il pornesc functioneaza cam 2 secunde si apoi se stinge afisajul cu 8 segmente (porturile se reseteaza la valorile : RE0-3 = 4.5V, RA si RC = 0.06V). Daca trag la masa oricare din PGM, CLK sau DATA (RB7, RB6, RB3) iar functioneaza, pe urma daca le las libere mai functioneaza iar cam 2 s si se reseteaza. Cand masor tensiunea pe PGM, CLK sau DATA iar functioneaza.Ce are? Link spre comentariu
laStudiu Postat Mai 5, 2007 Autor Partajează Postat Mai 5, 2007 Inainte cand functiona daca atingeam din gresala pinii ICSP se oprea. Acum in stare normala sta blocat, iar daca ating cu 1 deget masa si apoi ating ICSP functioneaza . Link spre comentariu
Abram Burel Postat Mai 5, 2007 Partajează Postat Mai 5, 2007 Posibil sa ai in program bitii aia cofigurati ca intrari si in montaj sunt in aer. Ceea ce nu e bine (macar ca principiu). Probabil ca vreodata ai avut configurat si pull-up-urile, dar acum nu mai sunt. Activeaza-le si probabil se va potoli. Link spre comentariu
CristianC Postat Mai 7, 2007 Partajează Postat Mai 7, 2007 S-ar putea sa ai activat LVP (Low voltage programming). Asta ar insemna ca atunci cand pinul RB3 nu e legat la masa PIC-ul intra in modul de programare. Asta ar explica blocajul.Dezactiveaza LVP din bitii de configuratie Link spre comentariu
laStudiu Postat Mai 7, 2007 Autor Partajează Postat Mai 7, 2007 S-ar putea sa ai activat LVP . Asta ar insemna ca atunci cand pinul RB3 nu e legat la masa PIC-ul intra in modul de programare. Eu folosesc LVP ( deci nu pot dezactiva LVP) si daca trag la masa RB7 sau RB6 merge (cu RB3 in aer).Nu am folosit deloc pana acum portul B in program, ca sa fie de la cod.Chestia asta a aparut dintr-o data, fara sa-l reprogramez, si mi-o luat ceva timp sa-mi dau seama ca-i legat de ICSP. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum