Sari la conținut
ELFORUM - Forumul electronistilor

PIC18F4550 internal pull-up


Bandi Szasz

Postări Recomandate

Vreau sa pun 5 butoane (push-button) pe B0-4 , si 3 butoane pe D0-2. Ca sa nu mai incarc si mai mult circuitul cu pull-up uri externe , vreau sa folosesc pe cele interne.In niste tutoriale, a fost scris ca numai porturile B au pull-up uri interne . In data sheet zice ca si pe D sunt si sunt activate cand bitul portE.7 este setat 1. Stie cineva pana la urma daca are si port -ul D pull-up uri interne ?Si daca cineva e mai priceput in MPLAB , ma ajuta si pe mine sa activez pull-up urile ?

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

Top autori în acest subiect

  • Bandi Szasz

    4

  • UDAR

    1

  • nico_2010

    1

Top autori în acest subiect

Mersi , da partea asta am cam inteles si eu cu portE.7 .

(Deci , pana la urma are si portD ? )

 

 

M-ar interesa si activarea celor de pe portB , aicea m-am cam blocat.

 

Each of the PORTB pins has a weak internal pull-up. Asingle control bit can turn on all the pull-ups. This isperformed by clearing bit, RBPU (INTCON2<7>).

Dar MPLAB nu recunoaste "RBPU" ca o setare. "#pragma config RBPU = OFF"

Link spre comentariu

N-am lucrat cu 18F și poate spun o prostie. Nu cred ca din #pragma config trebuie . Încearcă pur și simplu INTCON2.B7 = 0 sau ceva de genul.

Mersi , da ai dreptate este "INTCON2bits.RBPU = 1;" :da
Link spre comentariu
Vizitator onica_marian

Porturile B si D au pull-up intern.Pentru activarea intregului port, se va opera cu bit-ul RBPU respectiv RDPU.

Mersi , da ai dreptate este "INTCON2bits.RBPU = 1;"

In datasheet scrie ca activarea pull-up pe portul B se face negand bitul RBPU. Adica "INTCON2bits.RBPU = 0;"Prin urmare, conform datasheet-ului, a trebui sa scrii urmatoarele linii pentru activarea pull-up: INTCON2bits.RBPU = 0; // PortB pull-up activat PORTE.RDPU=1; // PortD pull-up activatPare cam aiurea, dar asta este.
Link spre comentariu

Porturile B si D au pull-up intern.Pentru activarea intregului port, se va opera cu bit-ul RBPU respectiv RDPU.

Mersi , da ai dreptate este "INTCON2bits.RBPU = 1;"

In datasheet scrie ca activarea pull-up pe portul B se face negand bitul RBPU. Adica "INTCON2bits.RBPU = 0;"Prin urmare, conform datasheet-ului, a trebui sa scrii urmatoarele linii pentru activarea pull-up: INTCON2bits.RBPU = 0; // PortB pull-up activat PORTE.RDPU=1; // PortD pull-up activatPare cam aiurea, dar asta este.
Da pentru portul B este "0" si nu "1" cum am zis eu ( "1" am vazut pe un tutorial gasit pe google ) , am aflat si eu la primul test real ( nu proteus) , dupa ceva nervi ca nu vroia sa mearga butonul de pe B3 ( celalalte mergeau) , pana la urma dupa vro 2 ore am gasit ca pin-ul de la fisa nu sa lipit calumea pe PCB si eu am pus multimetrul la pin - ul de la fisa si la apasarea butonului tragea la GND deci parea ca este OK ma tot uitam peste setari.... Pe D inca nu am incearcat ca inca nu sunt terminate butoanele , dar sper sa nu am probleme. Mersi de raspuns :da
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