Moin Leute,
hoffe hier kann mir wer n tipp geben.
fange gerade erst mit dem PiCs an
und vrsuch mal einfache IO aufgaben zu bewältigen.
leider scheitert die einfache 1 ausgabe schon.
event ist aber der PIc auch schrott, der lag ne weile in der wühlkiste.
möchte eigendlich ertmal nur am GPIO 0 5v anliegenhaben.
versucht hab ichs folgendermassen-->
list p=12f675 ; list directive to define processor
#include <p12f675.inc> ; processor specific variable
definitions
errorlevel -302 ; suppress message 302 from list file
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_ON & _WDT_OFF &
_PWRTE_ON & _INTRC_OSC_CLKOUT
ORG 0x000 ; processor reset vector
goto main ; go to beginning of program
main BSF CMCON, CM0 ; GP0,1 von Comparator auf digital
BSF CMCON, CM1
BSF CMCON, CM2
BSF STATUS, RP0 ; Bank 1
CLRF ANSEL ; GP0,1,2,4 von ADC auf digital
BCF STATUS, RP0 ; Bank0
movlw B'000011'
movwf GPIO
movwf 0x05
bsf STATUS, RP0
bsf GPIO, 0
loop goto loop
END ; directive 'end of program'
wäre für n tipp sehr dankbar
gruss WvD
TRISIO: 1=Eingang, 0=Ausgang. Bei Microchip. Der Rest der Welt macht es andersrum. Edit: ich beziehe mich aus diese Zeilen: movlw B'000011' movwf GPIO movwf 0x05 die ohnehin etwas doppelt wirken.
danke für die schnelle antwort, habs nun in movlw b'00000000' movwf TRISIO movlw B'00000000' movwf GPIO geändert leider noch kein ne 5v an GPIO 0 Ps: das doppelte war beabsichtigt, um mehrere varianten gleichzeitig zu tetsen.da ich anfing zu verzweifeln und bin dann vom eigendlichen projekt rückwärts zum IO gegangen.und würd mich nun schon über ne einfache 5v ausgabe freuen. wie gesagt das teil kann auch ne macke haben. gruss WvD
edit, danke für den anstoss.nach nochmaligem datenblatt begutachte hab
ich gesehen das TRISIO in der anderen bank liegt
so funzt das soweit
->
main BSF CMCON, CM0 ; GP0,1 von Comparator auf digital
BSF CMCON, CM1
BSF CMCON, CM2
BSF STATUS, RP0 ; Bank 1
CLRF ANSEL ; GP0,1,2,4 von ADC auf digital
movlw b'00000000'
movwf TRISIO
BCF STATUS, RP0 ; Bank0
bsf GPIO, 0
loop goto loop
END ; directive 'end of program'
Hier mal ein Auszug aus dem Datenblatt zur Initialisierung von GPIO:
bcf STATUS,RP0 ;Bank 0
clrf GPIO ;Init GPIO
movlw 07h ;Set GP<2:0> to
movwf CMCON ;digital IO
bsf STATUS,RP0 ;Bank 1
clrf ANSEL ;Digital I/O
movlw 0Ch ;Set GP<3:2> as inputs
movwf TRISIO ;and set GP<5:4,1:0>
: as Outputs
Bankswitching beachten.
Gruss
Digger
> TRISIO: 1=Eingang, 0=Ausgang. Bei Microchip. Der Rest der Welt macht es > andersrum. Macht trotzdem Sinn: (1)nput und (0)utput
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.