Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PIC16F84A: Problem sa kompajliranjem jednostavnog projekta

[es] :: Elektronika :: Mikrokontroleri :: PIC16F84A: Problem sa kompajliranjem jednostavnog projekta

[ Pregleda: 296 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stameni
Ivan Stamenković

Član broj: 6739
Poruke: 557



+9 Profil

icon PIC16F84A: Problem sa kompajliranjem jednostavnog projekta18.05.2025. u 14:50 - pre 1 dan i 6h
Duže vreme nisam programirao PIC-ove. Probao sam da se malo prisetim gradiva, pa pokušah ovim jednostavnim programom.

(Naravno, nije baš 16F84A ono što mi treba, ali bi trebalo da je dovoljno jednostavan da proradi "hello, world" program.)

Code:

    list      p=16F84A
    #include <PIC16F84A.inc>

    __CONFIG    0x3FF2

D1    EQU    0X20    
D2    EQU    0X21
D3    EQU    0X22
    
        ORG     0x000
          goto    main
main:
    
; initialize of your PIC, setting the general I/O in TRIS
    
   
        BSF        STATUS,5                ;SWITCH TO BANK1; BIT 5 OF STATUS REGISTER IS SET TO 1
        CLRF        TRISB                    ;SET PORTB AS OUTPUT ;PORTB = B'00000000'
        BSF        TRISA,2                    ;SET RA2 AS INPUT ;RA2=1
        BSF        TRISA,3                    ;SET RA3 AS INPUT ;RA3=1
        BSF        TRISA,4                    ;SET RA4 AS INPUT ;RA4=1
        BCF        STATUS,5                ;SWITCH TO BANK0; BIT 5 OF STATUS REGISTER IS SET TO 0

        MOVLW        0xFF                
        MOVWF        PORTB                    ;SET ALL 8 PIN IN PORTB TO HIGH(1)


; The main program begin here

START:
        BTFSS        PORTA,2                ;check signal at pushbutton1, if press then goto following line, else skip the following line
        CALL        RED                    ;button1 pressed, program execute the operation in subroutine RED    
        BTFSS        PORTA,3                ;check signal at pushbutton2, if press then goto following line, else skip the following line
        CALL        GREEN                ;button2 pressed, program execute the operation in subroutine GREEN
        BTFSS        PORTA,4                ;check signal at pushbutton3, if press then goto following line, else skip the following line
        CALL        YELLOW                ;button3 pressed, program execute the operation in subroutine YELLOW
        GOTO        START                ;no any button being pressed, program keep looping to check the pushbuttons' signal 

RED:    
        BSF             PORTB,4                ;ON YELLOW LED
        BSF            PORTB,5                ;ON GREEN LED
        BSF            PORTB,6                ;ON RED LED
        BCF            PORTB,6                ;OFF RED LED
        RETURN

GREEN:
        BSF            PORTB,4                ;ON YELLOW LED
        BSF            PORTB,5                ;ON GREEN LED
        BSF            PORTB,6                ;ON RED LED
        BCF            PORTB,5                ;OFF GREEN LED
        RETURN

YELLOW:
        BSF            PORTB,4                ;ON YELLOW LED            
        BSF            PORTB,5                ;ON GREEN LED
        BSF            PORTB,6                ;ON RED LED
        BCF            PORTB,4                ;OFF YELLOW LED
        RETURN


;========================================================================================
; DELAY SUBROUTINE
;========================================================================================

DELAY:
            MOVLW    D'200'            ;PAUSE FOR ABOUT 500mS (u can change the 200, 3, 1 value to obtain different delay timing)
            MOVWF    D3                            
            MOVLW    D'3'            
            MOVWF    D2            
            MOVLW    D'1'            
            MOVWF    D1            
            DECFSZ    D1                ;DECREASE THE VALUE OF D1 AND SKIP THE NEXT LINE WHEN IT REACH ZERO
            GOTO    $-1                ;IF NOT ZERO, IT WILL LEAD THE PROGRAM TO 1 LINE ABOVE
            DECFSZ    D2                ;DECREASE THE VALUE OF D2 AND SKIP THE NEXT LINE WHEN IT REACH ZERO
            GOTO    $-5                ;IF NOT ZERO, IT WILL LEAD THE PROGRAM TO 5 LINE ABOVE
            DECFSZ    D3                ;DECREASE THE VALUE OF D3 AND SKIP THE NEST LINE WHEN IT REACH ZERO
            GOTO    $-9                ;IF NOT ZERO, IT WILL LEAD THE PROGRAM TO 9 LINE ABOVE
            RETURN                    ;RETURN FROM SUBROUTINE

            END                     ; directive 'end of program'


Prvi put radim sa MPLAB X IDE v6.20, pa imam i ove probleme.

Konkretno, okruženje izbacuje sintaksne greške u redovima 4, 66, 68, 70. Ove poslednje tri su verovatno posledica korišćenja pogrešnog formata dekadnih konstanti, ali o tome ću -- potom. Pored toga, imam i gomilu "phase error" u redovima 11, 17, 18, 19, 20...

Mislim da grešim nešto sitno, ali...
 
Odgovor na temu

stameni
Ivan Stamenković

Član broj: 6739
Poruke: 557



+9 Profil

icon Re: PIC16F84A: Problem sa kompajliranjem jednostavnog projekta18.05.2025. u 17:47 - pre 1 dan i 3h
U međuvremenu, suzio sam problem sledećim kodom:

Code:

    list p=16F84A
    #include <pic16F84A.inc>
    
    __CONFIG 0x3FF2

    org 0x000
    
petlja:
    ; neki kod
    clrw
    
    goto petlja
    
    end


Sada asembliranje puca na onom __CONFIG ; kuka da je sintaksna greška.
 
Odgovor na temu

samuki
💻🇧🇦
🅱🅰
BiH Sarajevo🇧🇦

Član broj: 322399
Poruke: 1630
*.dynamic.telemach.ba.



+100 Profil

icon Re: PIC16F84A: Problem sa kompajliranjem jednostavnog projekta18.05.2025. u 19:56 - pre 1 dan i 1h
Kaze Gpt ovako .

Da, sa stanovišta sintakse asemblerskog jezika za PIC16F84A, ovaj kod je u redu za asembler (ili kompajler asemblera). Ne sadrži očite sintaksne greške koje bi spriječile asembliranje.

Međutim, važno je napomenuti sljedeće:

Beskonačna petlja: Ovaj kod će stvoriti beskonačnu petlju. Mikrokontroler će neprestano izvršavati instrukcije clrw i goto petlja. Ovo je često namjerno ugrađeno u glavnu petlju mikrokontrolerskog programa, ali mora postojati neki drugi mehanizam (unutar "neki kod" dijela koji nedostaje) da bi se postigla korisna funkcionalnost. Bez tog dodatnog koda, mikrokontroler će samo besciljno postavljati W registar na nulu i skakati nazad.
Nedostatak korisnog koda: Dio označen sa ; neki kod je prazan. Da bi ovaj program radio nešto korisno, tu bi trebale biti dodane instrukcije koje manipuliraju registrima, ulazno/izlaznim pinovima, ili obavljaju druge operacije.
Dakle, sa sintaksne strane, kod je ispravan za asembler. Međutim, sa funkcionalne strane, ovakav kakav jeste (bez "nekog koda"), on ne radi ništa korisno osim što stvara beskonačnu petlju.

Ako imate specifičan cilj za ovaj kod, slobodno ga podijelite, pa vam mogu pomoći s konkretnijim savjetima!


 #include <PIC16F84A.inc>

    __CONFIG    0x3FF2

D1    EQU    0X20    
D2    EQU    0X21
D3    EQU    0X22
    
        ORG     0x000
          goto    main
main:
    
; initialize of your PIC, setting the general I/O in TRIS
    
   
        BSF        STATUS,5                ;SWITCH TO BANK1; BIT 5 OF STATUS REGISTER IS SET TO 1
        CLRF        TRISB                    ;SET PORTB AS OUTPUT ;PORTB = B'00000000'
        BSF        TRISA,2                    ;SET RA2 AS INPUT ;RA2=1
        BSF        TRISA,3                    ;SET RA3 AS INPUT ;RA3=1
        BSF        TRISA,4                    ;SET RA4 AS INPUT ;RA4=1
        BCF        STATUS,5                ;SWITCH TO BANK0; BIT 5 OF STATUS REGISTER IS SET TO 0

        MOVLW        0xFF                
        MOVWF        PORTB                    ;SET ALL 8 PIN IN PORTB TO HIGH(1)


; The main program begin here

START:
        BTFSS        PORTA,2                ;check signal at pushbutton1, if press then goto following line, else skip the following line
        CALL        RED                    ;button1 pressed, program execute the operation in subroutine RED    
        BTFSS        PORTA,3                ;check signal at pushbutton2, if press then goto following line, else skip the following line
        CALL        GREEN                ;button2 pressed, program execute the operation in subroutine GREEN
        BTFSS        PORTA,4                ;check signal at pushbutton3, if press then goto following line, else skip the following line
        CALL        YELLOW                ;button3 pressed, program execute the operation in subroutine YELLOW
        GOTO        START                ;no any button being pressed, program keep looping to check the pushbuttons' signal 

RED:    
        BSF             PORTB,4                ;ON YELLOW LED
        BSF            PORTB,5                ;ON GREEN LED
        BSF            PORTB,6                ;ON RED LED
        BCF            PORTB,6                ;OFF RED LED
        RETURN

GREEN:
        BSF            PORTB,4                ;ON YELLOW LED
        BSF            PORTB,5                ;ON GREEN LED
        BSF            PORTB,6                ;ON RED LED
        BCF            PORTB,5                ;OFF GREEN LED
        RETURN

YELLOW:
        BSF            PORTB,4                ;ON YELLOW LED            
        BSF            PORTB,5                ;ON GREEN LED
        BSF            PORTB,6                ;ON RED LED
        BCF            PORTB,4                ;OFF YELLOW LED
        RETURN


;========================================================================================
; DELAY SUBROUTINE
;========================================================================================

DELAY:
            MOVLW    D'200'            ;PAUSE FOR ABOUT 500mS (u can change the 200, 3, 1 value to obtain different delay timing)
            MOVWF    D3                            
            MOVLW    D'3'            
            MOVWF    D2            
            MOVLW    D'1'            
            MOVWF    D1            
            DECFSZ    D1                ;DECREASE THE VALUE OF D1 AND SKIP THE NEXT LINE WHEN IT REACH ZERO
            GOTO    $-1                ;IF NOT ZERO, IT WILL LEAD THE PROGRAM TO 1 LINE ABOVE
            DECFSZ    D2                ;DECREASE THE VALUE OF D2 AND SKIP THE NEXT LINE WHEN IT REACH ZERO
            GOTO    $-5                ;IF NOT ZERO, IT WILL LEAD THE PROGRAM TO 5 LINE ABOVE
            DECFSZ    D3                ;DECREASE THE VALUE OF D3 AND SKIP THE NEST LINE WHEN IT REACH ZERO
            GOTO    $-9                ;IF NOT ZERO, IT WILL LEAD THE PROGRAM TO 9 LINE ABOVE
            RETURN                    ;RETURN FROM SUBROUTINE

            END

Ovaj kod je sada mnogo konkretniji i izgleda kao program koji reaguje na pritiske tri tastera (spojena na RA2, RA3 i RA4) i pali/gasi LED diode povezane na PortB.

Analiza koda:

#include <PIC16F84A.inc> i __CONFIG 0x3FF2: Kao i ranije, uključuje definicije za PIC16F84A i postavlja konfiguracijske bitove.
D1 EQU 0X20, D2 EQU 0X21, D3 EQU 0X22: Definišu simbolička imena D1, D2 i D3 za memorijske lokacije 0x20, 0x21 i 0x22. Ove lokacije će se koristiti za varijable u potprogramu DELAY.
ORG 0x000 i goto main: Postavlja početnu adresu na 0x000 i odmah skače na labelu main. Ovo je standardna praksa za početak izvršavanja programa.
main:: Glavna rutina programa.
Inicijalizacija I/O portova (Bank 1):
BSF STATUS,5: Prebacuje se u Bank 1 (bit 5 STATUS registra postavljen na 1).
CLRF TRISB: Postavlja sve pinove porta B kao izlaze (upisuje 0 u TRISB).
BSF TRISA,2, BSF TRISA,3, BSF TRISA,4: Postavlja pinove RA2, RA3 i RA4 kao ulaze (upisuje 1 u odgovarajuće bitove TRISA). Ovo se obično koristi za tastere.
BCF STATUS,5: Vraća se u Bank 0 (bit 5 STATUS registra postavljen na 0).
MOVLW 0xFF i MOVWF PORTB: Postavlja sve izlazne pinove porta B na logičku jedinicu (HIGH). Ovo vjerovatno služi da se ugase LED diode ako su one aktivne na LOW nivou.
START:: Glavna petlja programa.
Provjera tastera i pozivanje potprograma:
BTFSS PORTA,2: Provjerava da li je bit 2 porta A (RA2) postavljen (što bi značilo da taster nije pritisnut ako je spojen na masu preko otpornika). Ako je bit 2 setovan (nije pritisnut), preskače sljedeću liniju. Ako je clearovan (pritisnut), poziva potprogram RED.
CALL RED: Poziva potprogram RED ako je taster na RA2 pritisnut.
Slično se provjeravaju tasteri na RA3 i RA4 i pozivaju potprogrami GREEN i YELLOW.
GOTO START: Bez obzira na to da li je neki taster pritisnut ili ne, program se vraća na početak petlje START i ponovo provjerava tastere.
RED:, GREEN:, YELLOW:: Potprogrami koji bi trebali kontrolirati LED diode. Međutim, trenutno rade sljedeće:
U sva tri potprograma se postavljaju (pale) bitovi 4, 5 i 6 porta B.
Zatim se u svakom potprogramu odmah gasi jedan od tih bitova:
RED: Gasi bit 6 porta B.
GREEN: Gasi bit 5 porta B.
YELLOW: Gasi bit 4 porta B.
RETURN: Vraća se iz potprograma. Ovo znači da će se, kada se pritisne bilo koji od tastera, na kratko upaliti tri LED diode (ako su spojene na bitove 4, 5 i 6 porta B), a zatim će se odmah ugasiti jedna od njih, ovisno o pritisnutom tasteru.
DELAY:: Potprogram za generiranje vremenske pauze. Koristi tri varijable (D1, D2, D3) za implementaciju ugniježđenih petlji brojača. Vrijednosti učitane u ove varijable (D'200', D'3', D'1') određuju dužinu kašnjenja.
END: Označava kraj asemblerskog koda.


Da, ovaj kod je sintaksno ispravan za PIC16F84A asembler. Ne bi trebalo biti problema prilikom asembliranja.

Moguća poboljšanja i razmatranja:

Povezivanje LED dioda: Pretpostavlja se da su LED diode povezane na bitove 4, 5 i 6 porta B. Trebalo bi provjeriti da li su spojene na odgovarajući način (anoda/katoda i eventualno preko otpornika).
Logika tastera: Kod pretpostavlja da tasteri daju logičku nulu (niski nivo) kada su pritisnuti i logičku jedinicu (visoki nivo) kada nisu. Ako je povezivanje drugačije, uslov u BTFSS instrukcijama bi trebalo promijeniti u BTFSC.
Funkcionalnost LED dioda: Trenutna logika u potprogramima RED, GREEN i YELLOW pali tri LED diode i odmah gasi jednu. Vjerovatno je namjera bila da se pali samo jedna određena LED dioda za svaki taster. Ako je to cilj, potprograme bi trebalo izmijeniti da pale samo jednu željenu LED diodu i eventualno ugase ostale. Također bi bilo dobro dodati neki delay nakon paljenja LED diode kako bi se mogla vidjeti.
Debouncing tastera: Ovaj kod ne uzima u obzir "debouncing" tastera. Mehanički tasteri mogu kratko oscilirati između uključenog i isključenog stanja prilikom pritiska ili otpuštanja. Ovo može dovesti do višestrukih neželjenih poziva potprograma. Obično se dodaje kratka pauza (korištenjem DELAY potprograma) nakon detekcije pritiska tastera kako bi se ignorirali ovi oscilacije.
Sve u svemu, ovaj kod predstavlja dobar početak za interakciju s tasterima i LED diodama na PIC16F84A. Uz nekoliko manjih izmjena u logici potprograma za LED diode i eventualno dodavanje "debouncinga" za tastere, može postati funkcionalan program.
Imam multimetar i lemilicu ! 🇧🇦
 
Odgovor na temu

stameni
Ivan Stamenković

Član broj: 6739
Poruke: 557



+9 Profil

icon Re: PIC16F84A: Problem sa kompajliranjem jednostavnog projekta18.05.2025. u 21:19 - pre 23h 56min
Ma, ja sam pametniji od te inteligencije Evo koda koji prolazi kompajliranje; navešću posle koje sam izmene napravio:

Code:

    list p=16F84A
    #include <xc.inc>
    #include <pic16F84A.inc>

    CONFIG FOSC = EXTRC
    CONFIG WDTE = OFF
    CONFIG PWRTE = OFF
    CONFIG CP = OFF

D1  EQU    0X20
D2  EQU    0X21
D3  EQU    0X22

    org 0x000

petlja:
    clrw
    call delay
    goto petlja

delay:
    movlw 200
    movwf D3
    movlw 3
    movwf D2
    movlw 1
    movwf D1
    decfsz D1
    goto $-1
    decfsz D2
    goto $-5
    decfsz D3
    goto $-9
    return

    end


Elem, ključno je dodavanje ovog #include <xc.inc> na početku sourcea, a potom i ovo "razlaganje" konfiguracije PIC-a na četiri komponente. Mora da to može i lepše, ali za sada je OK.

Dakle, ovakav kod prolazi asembliranje, ali nikako da nateram debugger da radi. Izgleda da uopšte rezultujući HEX ne bude upisan u memoriju za kod.
 
Odgovor na temu

stameni
Ivan Stamenković

Član broj: 6739
Poruke: 557



+9 Profil

icon Re: PIC16F84A: Problem sa kompajliranjem jednostavnog projekta19.05.2025. u 12:22 - pre 8h 53min
Da li je neko pravio asm programe za MPLAB X IDE?

Kod iz prethodnog posta se, naposletku, iskompajlira kako treba, ali nikako da poteram simulator... Naprosto, kao da izvršni kod nije upisan u Program memory: tamo su umesto pravih opkodova sve upisane 0x3FF...

Kada pokušam da pokrenem debugger / simulator (ili da single steppujem kada ga, kobajagi, pokrenem) izbacuje sledeće:

Code:
No source code lines were found at current PC 0x1a9. Use Program memory view to see instruction code disassembly.


Izluđuje me, a reč je o programu jednostavnijem od LED blink primera.
 
Odgovor na temu

samuki
💻🇧🇦
🅱🅰
BiH Sarajevo🇧🇦

Član broj: 322399
Poruke: 1630
*.dynamic.telemach.ba.



+100 Profil

icon Re: PIC16F84A: Problem sa kompajliranjem jednostavnog projekta19.05.2025. u 13:14 - pre 8h 1min
Da pitamo Gpt ?
Imam multimetar i lemilicu ! 🇧🇦
 
Odgovor na temu

samuki
💻🇧🇦
🅱🅰
BiH Sarajevo🇧🇦

Član broj: 322399
Poruke: 1630
*.dynamic.telemach.ba.



+100 Profil

icon Re: PIC16F84A: Problem sa kompajliranjem jednostavnog projekta19.05.2025. u 13:39 - pre 7h 36min
Kod:
Nisu pronađene linije izvornog koda na trenutnoj programskoj adresi 0x1a9. Koristite pregled programske memorije da vidite rastavljanje instrukcijskog koda.

Ova poruka iz MPLAB-a je prilično čest znak u svijetu otklanjanja grešaka. Obično se pojavi kada je pokazivač izvršenja programa (vaša "trenutna programska adresa" na lokaciji 0x1a9) zalutao u memoriju gdje nema stvarnog izvornog koda povezanog s njim.

Zamislite to ovako: vaš debugger pokušava da vam pokaže liniju vašeg C ili asemblerskog koda koja će se sljedeća izvršiti, ali na memorijskoj adresi 0x1a9 on samo pronalazi sirove instrukcije, a ne lijepi, čitljivi izvorni kod koji ste napisali.

Evo raščlambe zašto možda vidite ovu poruku i šta možete učiniti u vezi s tim:

Uobičajeni uzroci:

Izvršavanje nakon kraja vašeg koda: Ovo je čest krivac. Vaš program je možda završio svoje predviđeno izvršavanje i programski brojač je jednostavno nastavio dalje u neinicijaliziranu ili rezerviranu memoriju.
Skakanje na nevažeću adresu: Greška u vašem kodu (poput divljeg pokazivača ili pogrešnog izračuna ciljne adrese skoka) mogla je uzrokovati da program skoči na adresu koja ne sadrži važeći izvršni kod povezan s vašim izvornim kodom.
Prekidi ili izuzeci: Mogao se dogoditi prekid ili izuzetak, a rutina za obradu prekida (ISR) ili rukovalac izuzetkom možda nije ispravno definiran ili je završio s izvršavanjem, što je dovelo programski brojač na neočekivanu lokaciju.
Problemi s konfiguracijom: Ponekad, neispravne skripte linkera ili konfiguracije projekta mogu dovesti do toga da se kod smjesti u neočekivane memorijske regije.
Otklanjanje grešaka u optimiziranoj verziji: Ako otklanjate greške u visoko optimiziranoj verziji, kompajler je možda preuredio ili eliminirao kod na načine koji otežavaju debuggeru da mapira mašinske instrukcije nazad na vaše originalne linije koda.
Hardverski problemi: U rijetkim slučajevima, hardverski kvar može uzrokovati da programski brojač skoči na pogrešnu adresu.
Kako istražiti i riješiti problem:

Provjerite tok vašeg programa: Pažljivo pregledajte posljednjih nekoliko linija koda koje su se izvršavale prije nego što ste naišli na ovu poruku. Jeste li očekivali da će se program tu završiti? Postoje li pozivi funkcija, petlje ili uslovni iskazi koji se možda ponašaju neočekivano?
Ispitajte stek poziva: Stek poziva u MPLAB-u može biti nevjerovatno koristan. Prikazuje niz poziva funkcija koji su doveli do trenutne tačke. Gledajući stek, možda ćete moći vidjeti koji je poziv funkcije rezultirao neočekivanim skokom.
Koristite tačke prekida: Postavite tačke prekida strateški u svoj kod, posebno oko područja za koja sumnjate da bi tok programa mogao krenuti pogrešno. Korak po korak pratite izvršavanje koda da biste vidjeli tačno šta se događa.
Provjerite varijable: Pratite vrijednosti ključnih varijabli, posebno pokazivača i brojača petlji, kako biste bili sigurni da imaju očekivane vrijednosti. Neispravna vrijednost pokazivača je čest uzrok skakanja na nevažeću memoriju.
Pregledajte konfiguraciju prekida: Ako koristite prekide, dvaput provjerite svoju tabelu vektora prekida i implementaciju vaših ISR-ova. Provjerite da li ISR-ovi ispravno izlaze.
Pogledajte rastavljanje: Kao što poruka sugerira, koristite "Program memory view" (Pregled programske memorije) u MPLAB-u da vidite sirove asemblerske instrukcije na adresi 0x1a9 i oko nje. Ovo vam može dati naznake o tome šta mikrokontroler zapravo pokušava raditi. Možda ćete vidjeti instrukciju skoka koja je otišla na pogrešno mjesto.
Provjerite svoju skriptu linkera: Ako sumnjate na probleme s rasporedom memorije, pregledajte svoju skriptu linkera kako biste bili sigurni da su vaši dijelovi koda smješteni u ispravne memorijske regije.
Ponovo izgradite svoj projekt: Ponekad, čista izgradnja može riješiti probleme uzrokovane zastarjelim objektnim datotekama ili neispravnim povezivanjem.
Razmotrite opcije otklanjanja grešaka: Ako otklanjate greške u optimiziranoj verziji, pokušajte privremeno izgraditi s nižim nivoom optimizacije (-O0 ili slično) kako bi se kod bliže podudarao s vašim izvornim kodom.
Provjerite hardver (ako je primjenjivo): Ako sumnjate na hardverski problem, pokušajte pokrenuti svoj kod na drugoj ciljnoj ploči ako je moguće.
Ukratko, ta poruka iz MPLAB-a je signal da je izvršenje vašeg programa otišlo negdje gdje niste namjeravali. Sistematskim istraživanjem toka programa, steka poziva i sadržaja memorije, trebali biste moći utvrditi uzrok i vratiti se na pravi put s otklanjanjem grešaka!

Javite mi ako možete pružiti više konteksta o tome šta ste radili u MPLAB-u kada ste naišli na ovu poruku, i možda ću moći ponuditi konkretnije prijedloge!


Imam multimetar i lemilicu ! 🇧🇦
 
Odgovor na temu

stameni
Ivan Stamenković

Član broj: 6739
Poruke: 557



+9 Profil

icon Re: PIC16F84A: Problem sa kompajliranjem jednostavnog projekta19.05.2025. u 21:11 - pre 5min
Problem je rešen; malo sam se raspitivao na Microchipovom forumu.

Problem je u tome što su majstori u MC-u promenili korišćeni asembler: umesto dugogodišnjeg MPASM-a stavili su pic-as, koji ima znatno drukčiju sintaksu. Zato i nije neko čudo što "stvar" nije htela da radi.

Evo cele priče (sa rešenjem): https://forum.microchip.com/s/topic/a5CV40000003VX7MAM/t400969
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: PIC16F84A: Problem sa kompajliranjem jednostavnog projekta

[ Pregleda: 296 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.