PIC18F4550 - RC4 og RC5

Jun 18, 2008 7 Replies

Hej jeg er i gang med et eksamensprojekt hvor jeg har designedet et print hvor i jeg bruger en PIC18f4550



mit problem er at jeg skal bruge RC4 og RC5 som input men kan ikke f=E5 den til at rigister noget p=E5 de porte, og der er fordi disse to ben bliver brugt til en USB funktion og for at man kan bruge benene som input skal USB funktionen deaktiveres, er der nogen der kan vise mig hvad der skal skrives s=E5 det kommer til at virke. p=E5 forh=E5nd tak


skrev i en meddelelse news: snipped-for-privacy@2g2000hsn.googlegroups.com... Hej jeg er i gang med et eksamensprojekt hvor jeg har designedet et print hvor i jeg bruger en PIC18f4550

mit problem er at jeg skal bruge RC4 og RC5 som input men kan ikke få den til at rigister noget på de porte, og der er fordi disse to ben bliver brugt til en USB funktion og for at man kan bruge benene som input skal USB funktionen deaktiveres, er der nogen der kan vise mig hvad der skal skrives så det kommer til at virke. på forhånd tak

Hvis alt andet glipper så er der denne mulighed:

formatting link
eller måske direkte på Microchips hjemmeside.

MVH. Finni

Hej

Se side 117 i databladet: On a Power-on Reset, these pins, except RC4 and RC5, are configured as digital inputs. To use pins RC4 and RC5 as digi- tal inputs, the USB module must be dis- abled (UCON =3D 0) and the on-chip USB transceiver must be disabled (UCFG=3D1).

Hilsen Mikkel

hej og tak for dit svar, jeg har l=E6st det der st=E5r i datablaet, men der er fordi jeg programere i C og jeg ved ikke hvordan jeg skal skrive det i C.

Nu skriver du at det er en eksamens opgave, og det skulle det jo gerne blive ved med at være, så du får kun hjælp til selvhjælp !

Ikke for at være fræk, men har du også forstået hvad (UCON = 0) & (UCFG=1) betyder ?

MHV Carsten

ive

Nej, der er derfor der er lidt sv=E6rt

Ok jeg har ikke forstand på programmering i af PIC i C, Har altid holdt mig til assembler programmering, da det er min opfattelse at man kan skrive den bedste kode sådan,

Men for at komme tilbage til sagen, som du sikkert ved, er PIC processoren udstyret med nogle registre som i korte trek, bestemmer hvordan den skal virke, UCON & UCFG er to af disse registre og når de i PDF filen skriver (UCON = 0) betyder det af bit 3 i UCON skal være 0 og (UCFG=1) betyder at bit 3 i UCFG skal være 1

Jeg håber at du selv kan finde ud af hvordan du i C kan bestemme værdien af de enkelte bit i en byte.

MHV Carsten

Hvilken complier bruger du?, det vil gøre det nemmere at svare.

Det plejer at være lige til i Ansi C ved brug af "operators": En søgning på Google efter "C operators" giver:

formatting link
formatting link
Og her står det forklaret.

I stedet for at bruge decimal/hex, kan du i de fleste C compliere bruger

0bxxxxxxxx, for at angive 8bit binært.

feks

UCON = 0b00000000;

Eller rettere: UCON = UCON & 0b11110111;

Her læser man først registeret UCON, for der efter at sætte BIT3 til 0, og lade de andre bits være som *de var* ved en AND funktion(& tegnet).

Gør det samme med det andet register..

Det kan gøres kortere, men overstående gør det nemt at forstå :-)

Konvertering mellem decimal/hex/binært er nemt hvis du bruge windows lommeregner. (Slå videnskabelig til i menuen) eller søg efter "ASCII table".

-- Med Venlig Hilsen Johannes

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required