Terejõudu!
Olen käsile võtnud esimese PICi projekti, eks näis, kas asja ka saab. Hetkel käib katsetamine ja uute maade avastamine
Probleemi lühikirjeldus: kivil väljundite juhtimine on OK, saab erinevaid pin'e niisama lülitada, LEDi teatud sagedusega vilgutada jne, s.t selles osas kurta ei oska midagi. Küll aga ei taha kivi mitte kuidagi mingit teavet sisse süüa (loomulikult olen TRISx-s vastavad pin'id koodis "1"-ks teinud).
Mida proovinud olen: WDT on kogu aeg välja lülitatud, et olla 100% kindel, et see ei sekku; sisenditele olen pannud nii pull-up'e kui ka pull-down'e (100k ja loomulikult mitte korraga
); siis viimasena mõtlesin, et äkki suudab PIC kuidagi näha seda, et toitepinge on madalam kui toitejala pealt võetud signaal, ning timmisin signaali potekaga 0 ja 5 voldi vahel edasi-tagasi, kuid tulemus ümmargune null. Loomulikult igas variatsioonis veel plussi ja nulli jalale peale ja maha klõpsutada jms "traditsioonilised" veaotsimis-katse-eksitusmeetodid.
Koodiviga? Mkm, sest simulaatoriga töötab kood korralikult ning nii lihtsas koodis vast ei saa isegi mina midagi mööda panna. Samuti olen katsetanud mitmete erinevate koodidega ja vähemalt millegagi oleks võinud ikka midagi juhtuda. Kaugem eesmärk oleks PICi interrupti kasutama hakata, aga alustaks millestki elementaarsemast hetkel...
Kasutatav raud: 16F684 ja isearetatud programmaator (no see kõige lihtsam, mille kasutaja felch ka ajakirjas on avaldanud).
Koodinäide, millega lugu simulaatoris töötab, aga millega päris elus ei tule piuksugi ehk siis näidaku mulle PortC esimesse kolme auku seda, mida "mõistus" näeb PortA esimese kolme augu pealt:
Ilmselt teen ma ise midagi kapitaalselt valesti, aga oskaks keegi algaja eksleja õigele teele juhatada?
Tänud!
Olen käsile võtnud esimese PICi projekti, eks näis, kas asja ka saab. Hetkel käib katsetamine ja uute maade avastamine

Probleemi lühikirjeldus: kivil väljundite juhtimine on OK, saab erinevaid pin'e niisama lülitada, LEDi teatud sagedusega vilgutada jne, s.t selles osas kurta ei oska midagi. Küll aga ei taha kivi mitte kuidagi mingit teavet sisse süüa (loomulikult olen TRISx-s vastavad pin'id koodis "1"-ks teinud).
Mida proovinud olen: WDT on kogu aeg välja lülitatud, et olla 100% kindel, et see ei sekku; sisenditele olen pannud nii pull-up'e kui ka pull-down'e (100k ja loomulikult mitte korraga

Koodiviga? Mkm, sest simulaatoriga töötab kood korralikult ning nii lihtsas koodis vast ei saa isegi mina midagi mööda panna. Samuti olen katsetanud mitmete erinevate koodidega ja vähemalt millegagi oleks võinud ikka midagi juhtuda. Kaugem eesmärk oleks PICi interrupti kasutama hakata, aga alustaks millestki elementaarsemast hetkel...
Kasutatav raud: 16F684 ja isearetatud programmaator (no see kõige lihtsam, mille kasutaja felch ka ajakirjas on avaldanud).
Koodinäide, millega lugu simulaatoris töötab, aga millega päris elus ei tule piuksugi ehk siis näidaku mulle PortC esimesse kolme auku seda, mida "mõistus" näeb PortA esimese kolme augu pealt:
org 0000h
goto main
trisa equ 85h
trisc equ 87h
status equ 03h
porta equ 05h
portc equ 07h
main
bsf status,5
movlw 0x00
movwf trisc
movlw 0x07
movwf trisa
bcf status,5
start
movlw 0x00
addwf porta,0
movwf portc
goto start
end
goto main
trisa equ 85h
trisc equ 87h
status equ 03h
porta equ 05h
portc equ 07h
main
bsf status,5
movlw 0x00
movwf trisc
movlw 0x07
movwf trisa
bcf status,5
start
movlw 0x00
addwf porta,0
movwf portc
goto start
end
Tänud!
Comment