PIC: WPU på NOT_MCLR

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

PIC: WPU på NOT_MCLR

Inlägg av Erik M »

Detta är texten som ofta (ex 12F615/683) dyker upp för (NOT_)MCLR:
4.2.2 WEAK PULL-UPS
Each of the GPIO pins, except GP3, has an individually
configurable internal weak pull-up. Control bits WPUx
enable or disable each pull-up. Refer to Register 4-4.
Each weak pull-up is automatically turned off when the
port pin is configured as an output. The pull-ups are
disabled on a Power-on Reset by the NOT_GPPU bit of the
OPTION register). A weak pull-up is automatically
enabled for GP3 when configured as NOT_MCLR and
disabled when GP3 is an I/O. There is no software
control of the NOT_MCLR pull-up.
BBCode för överstreck, någon?

Men vad säger det egentligen?
GP3 (för enkelhets skull) är väl en I/O redan från början?
Och då dessutom endast I(nput).

De inställningar jag kan hitta som förefaller inverka är:
(Det vill säga att övriga, som annars påverkar GPIO's, inte ändrar för GP3.)
CONFIG: _MCLRE_ON respektive _MCLRE_OFF
OPTION_REG, NOT_GPPU
Har jag missat någon?

Om ej - i vilken av dessa kombinationer får jag WPU på GP3?

A)
__CONFIG _MCLRE_ON
BCF OPTION_REG, NOT_GPPU
B)
__CONFIG _MCLRE_ON
BSF OPTION_REG, NOT_GPPU

C)
__CONFIG _MCLRE_OFF
BCF OPTION_REG, NOT_GPPU

D)
__CONFIG _MCLRE_OFF
BSF OPTION_REG, NOT_GPPU
sodjan
EF Sponsor
Inlägg: 43243
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC: WPU på NOT_MCLR

Inlägg av sodjan »

> GP3 är väl en I/O redan från början?
> Och då dessutom endast I(nput).

Nej och Ja.

> Om ej - i vilken av dessa kombinationer får jag WPU på GP3?

C och D, lite snabbt...
Användarvisningsbild
Klas-Kenny
Inlägg: 11814
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: PIC: WPU på NOT_MCLR

Inlägg av Klas-Kenny »

Sodjan: Tvärtom, väl.
A weak pull-up is automatically
enabled for GP3 when configured as NOT_MCLR and
disabled when GP3 is an I/O.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: PIC: WPU på NOT_MCLR

Inlägg av Erik M »

Tack, och det stämmer med vad jag får det till.

Förutom då möjligen att det förefaller som du säger att inställningen på OPTION_REG, NOT_GPPU inte spelar någon roll...?



GP3 är inte en I/O från början?

Hm, jag förutsätter att vi talar om efter den initierande CLRF GPIO instruktionen, korrekt?
Före det är den ingenting... väl?
bearing
Inlägg: 11669
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: PIC: WPU på NOT_MCLR

Inlägg av bearing »

WPU på \(\overline{MCLR}\)

Kod: Markera allt

WPU på [tex]\overline{MCLR}[/tex]
Men som sagt, /MCLR eller !MCLR brukar användas. Vet \(\overline{varför}\) du \(\overline{vill}\) acceptera det.
Användarvisningsbild
Klas-Kenny
Inlägg: 11814
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: PIC: WPU på NOT_MCLR

Inlägg av Klas-Kenny »

There is no software
control of the NOT_MCLR pull-up.
Så nej, de inställningarna spelar ingen roll. Kollar du bit-specifikationen för WPU-registret ser du att biten för GP3 står som "Unimplemented bit, read as '0'".

Och, GP3 är ju alltid en ingång, så vida man stängt av /MCLR-funktionen. CLRF GPIO som databladet säger att man ska köra direkt, är ju bara för att säkerställa att alla GPIO-bitar verkligen är noll efter reset (eftersom att man aldrig ska räkna med att bitarna är vad de "ska" om man inte själv satt dem till något specifikt i programkod). GP3 är som sagt alltid en ingång om /MCLR är inaktiverad, kollar du bitspecifikationen för GPIO och TRISIO så ser du att i båda de registerna är biten för GP3 angiven som read-only, du kan inte skriva den till något särskilt utan den är vad den är.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: PIC: WPU på NOT_MCLR

Inlägg av Erik M »

Ah, så kan man göra! Tack bearing. :tumupp:
(Din extra kommentar är ovidkommande då jag på intet vis inte accepterat de nu, om än ej tidigare, nämnda formerna.
Hade du istället skrivit "/MCLR eller !MCLR brukar användas." har det varit både hjälpsamt, konstruktivt och, framförallt, informativt.)



Alldeles riktigt Klas-Kenny, vilket jag oxå pekade på.
Samtidigt anges "A weak pull-up is automatically
enabled for GP3 when configured as NOT_MCLR and
disabled when GP3 is an I/O.


Därav frågeställning hur GP3 har WPU när den inte är en I/O men inte har WPU det när den är en I/O, det tillfälle när den kan ha användning, rent praktiskt då alltså, av en pullup...
bearing
Inlägg: 11669
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: PIC: WPU på NOT_MCLR

Inlägg av bearing »

Jag skrev faktiskt så från början, men sen kom jag att tänka på att vi redan dragit detta en gång tidigare, när du använde genomstrykningar av MCLR. Dock hittar jag inte "beviset", så antagligen har jag skrivit ett sånt inlägg, men inte skickat det av någon anledning.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: PIC: WPU på NOT_MCLR

Inlägg av Erik M »

Nå, nu har du hursomhaver gjort det. Tack.
Personligen skulle jag iofs föredra ¬, men det är jag det. :mrgreen:

Vi kunde måhända sluppit kommentarerna, eh?



Summasumarum då, har GP3 en WPU som går att använda eller ej?
slo
Inlägg: 103
Blev medlem: 7 januari 2009, 10:57:35
Ort: Åbo, Finland
Kontakt:

Re: PIC: WPU på NOT_MCLR

Inlägg av slo »

Nej

I databladet för "PIC12F609/615/617/12HV609/615" finns följande tabell på sida 4.
PIC12F1609.PNG
Där det tydligt framgår att GP3 kan användas som Input eller som ~MCLR när GP3 är konfigurerad som ~MCLR är Weak Pullup aktiverad, men inte när GP3 används som en General Input.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
sodjan
EF Sponsor
Inlägg: 43243
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC: WPU på NOT_MCLR

Inlägg av sodjan »

> Sodjan: Tvärtom, väl.

Ja, på andra frågan blev det fel... :-)
Pull-up är *på* när pinnen är "reset" och av annars.


> GP3 är inte en I/O från början?

Beror lite på hur man definierar "från början". Efter en "erase all" så är
alla CONFIG bitar "1" och då är pinnen "reset". Genom att programmera den
aktuella CONFIG biten till "0" blir den en I/O pinne (dock enbart som ingång).

Att även "reset" är en "ingång" är ju en lite annan sak, man brukar inte
kalla reset-ingången för en "I/O".

> Summasumarum då, har GP3 en WPU som går att använda eller ej?

Ja, när pinnen används som MCLR/reset ingång.
Nej, inte då pinnen används som en generell digital ingång.
Och det är ej valbart i något av fallen...
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: PIC: WPU på NOT_MCLR

Inlägg av Erik M »

Utmärkt, då är du, jag och databladet fortsättningsvis överens. :tumupp:

Dvs det finns ingen, egentligt, användbar WPU på GP3.
Den enda WPU som finns är den som hanterar "reset" - vid någonstans 12 volt, om jag förstått rätt.
Alltså inte till någon nytta annars, endast för "reset".

Eller är det skillnad på Reset och Master Clear?
Reset, som i omstart.
Master Clear, som i radera allt.


Tack för hjälpen.
bearing
Inlägg: 11669
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: PIC: WPU på NOT_MCLR

Inlägg av bearing »

Nja, intern pull-up på /MCLR drar pinnen till Vdd. /MCLR hålls alltså hög ifall pinnen lämnas oansluten, för att förhindra sporadisk reset.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46879
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: PIC: WPU på NOT_MCLR

Inlägg av TomasL »

Eller är det skillnad på Reset och Master Clear?
Reset, som i omstart.
Master Clear, som i radera allt.
Nja inte riktigt så.
De olika varianterna och vad de gör finns att läsa i databladet.
Ibland är det samma i bland inte.
sodjan
EF Sponsor
Inlägg: 43243
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC: WPU på NOT_MCLR

Inlägg av sodjan »

> Eller är det skillnad på Reset och Master Clear?
> Reset, som i omstart.
> Master Clear, som i radera allt.

En "reset" är som du säger en omstart av processorn.
Antingen via reset-pinnen eller en "power-on reset" (POR).

Sen menar du kanske "erase all", vilket är en funktion i
programmeringsgränssnittet från en "programmerare".
Det tömmer processorn på allt innehåll, flash, eeprom
och config.

Alltså, ja, det är totalt olika funktioner.

> Den enda WPU som finns är den som hanterar "reset" - vid någonstans 12 volt, om jag förstått rätt.

Nej och nej. Blanda inte ihop en vanlig reset med programmeringsspänningen !
Skriv svar