Sari la conținut
ELFORUM - Forumul electronistilor

cum se lucreaza cu mplab


bogdan546

Postări Recomandate

1. Fisierul lipsa trebuie sa fie c-am asa:;xxxxxxxxxxxxxxx; Macro ;xxxxxxxxxxxxxxxbank1 macro ; passage en banque 1 bsf STATUS,RP0 bcf STATUS,RP1 endmbank0 macro ; passage en banque 0 bcf STATUS,RP0 bcf STATUS,RP1 endm

Link spre comentariu
  • Răspunsuri 46
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • puiu

    19

  • bogdan546

    18

  • Liviu M

    9

  • cirip

    1

Top autori în acest subiect

Poate imi explici si mie unde am gresit .

 

Ti-am scris deja, se pare ca nu doar documantatia n-o citesti:

Eu nu prea am idee cum e cu asamblarea, da' cate ceva am mai citit si:

- parca inainte de CONFIG se foloseau 2 _ (__), nu una; la tine pare sa fie una singura;

- etichetele trebuie sa inceapa in coloana 1; in pozele tale cbloc pare sa inceapa din coloana a 2-a.

 

Mesajele de eroare din mplab sunt suficient de clare:

Warning[207] D:\PROIECT PIC\PIC16F.ASM 8 : Found label after column 1. (Cbloc)
spune foarte clar ca pe linia 8 a gasit o eticheta care nu incepe in coloana 1.

 

Ce este cu eroarea care mi-o da la directiva ?

Sintaxa (ce-o si aia)? Adica un _ in loc de __?

Daca am gresit in presupunerile mele, e din cauza ca asa se vede in textele postate de tine. Daca nu e ce am presupus eu/daca ai incercat ce ti-am sugerat si tot ai erori, poti sa-mi spui, sa nu mai insist. Oricum, pana nu dovedesti ca ai facut si altceva decat copy-paste din cartea aia si postat pe forum, n-o sa te mai deranjez cu raspunsuri.

Link spre comentariu

te rog incearaca programul respectiv ,poate este ceva din setarile mele la mplab Am incercat cu doua linii la directiva dar îmi da aceeaşi eroare linia 5 illegal caracter & si o atentionare found label after column 1cu toate ca nu este eticheta este directiva

Link spre comentariu

Ti-am facut hatarul si am compilat proiectul. Daca reusesti sa copiezi textul caracter cu caracter de pe pagina aia de internet - asta inseamna si pauzele si toate literele din diverse cuvinte (PROCESSOR, nu PROCESOR, Cblock, nu Cbloc, __CONGIG __CONFIG _CP_OFF&_WDT_OFF & _PWRTE_ON & _XT_OSC nu _CONFIG_CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC), daca indentezi liniile ca in exemplu - atunci se compileaza.

 

Codul reparat de mine (nu am fisierul bank.inc, asa ca l-am comentat) se compileaza cu mpasm.

    PROCESSOR 16f84    #include"p16f84.inc"        __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC        Cblock      0x0C  ;Begining of RAM     WCYCLE      ;Belongs to 'WAIT'macro     PRESCwait     endc     ORG 0x00     ;Reset vector     goto Main     ORG 0x04     ;Intrerrupt vector     goto Main    ;No interrupt routine    ;#include"bank.inc"  ;Assistant filesMain                     ;Beginning of the program      BANK1   movlw 0xff    ;Port A initialization   movwf TRISA   ;TRISA<-0xff all input   movlw 0x00    ;PORTB initialization   movwf TRISB   ;TRISB<-0xff   movlw 0x00    ;PORTB initialization   BANK0      movlw 0xff   movwf PORTB   ;Turn on all ledsLoop   goto Loop      ;Repeat loop      End            ;End program
Sper ca observi ca numai main si Loop - etichetele - sunt in prima coloana; celelate sunt cel putin un caracter la dreapta.

La tine se vaita la Cbloc(k) pentru ca fiind scris aiurea nu-l recunostea ca un cuvant rezervat si-l considera eticheta.

La __CONFIG pentru ca, scriind fara pauza, _CONFIG_CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC, ii da un cuvant necunoscut, cu care nu stie ce sa faca si, mai mult, contine caractere "interzise" - & e folosit pentru SI logic (adica parametrii lui CONFIG sunt _CP_OFF si _WDT_OFF si _PWRTE_ON si _XT_OSC)

 

Toate lucrurile pe care ti le-am zis de cateva ori deja sunt in documentatie. Daca vrei sa avansezi (faci proiectelul asta in speranta sa mai inceti ceva, nu ca esti obligat la scoala), iti recomand chiar sa studiezi putin (mai temeinic) documentatia.

 

LE Sunt sanse ca si BANK0 si BANK1 sa fie etichete. Cum n-am nici fisierul bank.inc si nici acelasi asamblor, merg pe mana autorului cartii.

Link spre comentariu

Cu placere, desi as fi preferat sa-ti descoperi singur greselile. Asta presupunand studiul documentatiei; a propos, daca nu sunt indescret, cam cati ani ai / cam in ce clasa esti (sa-mi dau seama daca nu cumva am asteptari prea mari)?

Link spre comentariu

1. Vezi ca MPLAB nu ai nevoie de directiva deoarece se seteaza biti din sectiunea Configure, Configuration biti, binenteles dupa ce s-a ales device din sectiunea Configurare, select device. Deci aeea directiva este necesara pentru alte softuri si programatoare decat pentru MPLAB si programele lui.

Link spre comentariu

1. Macroul lipsa era pentru setarea bank0 si bank1. Vezi ca la familia lui PIC 16 ai si bancuri pentru registri speciali si ai si pagini pentru program. La familia lui PIC 18 ai numai bancuri de memorie pentru registri si nu ai pagini pentru program.2. Ar fi bine sa te pui la punct cu un tip de familie si apoi sa treci la alta familie de PIC-uri. Pentru cele pe 8 biti datele sunt trei familii, dupa cum se aloca biti pentru instructiuni si anume:pe 12 biti (PIC10, PIC12), pe 14 biti (PIC16) si pe 16 biti (PIC18).

Link spre comentariu

Pentru ca tot m-am uitat prin program cand i l-am aranjat, am bagat de seama ca pe la mijloc mai apare si

#include"bank.inc"  ;Assistant files
.

Probabil ca bank.inc asta tine locul macroului "lipsa".

Link spre comentariu

Salut,Am observat in multe saituri cu proiecte ca lumea se complica fie cu scrierea de macrouri pentru selectia de bank, fie se folosesc instructiuni criptice de genul bsf STATUS,RP0 sau si mai rau bsf 3, 5, din care nu mai intelegi nimic peste 2 luni.MPLAB are o modalitate simpla de setare a bankurilor pe care, daca o folosesti, nici macar nu trebuie sa stii in ce bank se afla variabila. Este directiva "banksel ". Pentru detalii sugerez citirea sectiunii de directive din help. Helo->Topics->MPASM Assembler->Directives. Acolo este o lista intreaga de directive care usureaza programarea.Cirip

Link spre comentariu

E "comanda" din mpasm (asamblor); dupa parerea mea, nu conteaza in ce mediu "programezi" atata timp cat scrii pentru mplab.

Link spre comentariu

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări