Pinne vägrar fungera i PIC18F442.

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
nanopile
Inlägg: 312
Blev medlem: 9 april 2006, 17:06:50
Ort: Stockholm

Pinne vägrar fungera i PIC18F442.

Inlägg av nanopile »

Pinne RB5/PGM vägrar ge ström till mina lysdioder med 976 ohms motstånd.
Alla andra pinnar på port B ger ström och tris är satt till 0x00.
Finns det något om har någon form av override-funktion eller har jag missat något?

http://ww1.microchip.com/downloads/en/D ... 39564c.pdf
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Databladet du länkar till, sid 92, gråa ruta med Note 1 och 2. Dessutom bör du kolla på figure 9-4 strax över där det framgår att PORTB4-7 INTE kan ge speciellt mycket ström ut, de har "weak pull-up" enbart.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

LVP on/off ?

> Dessutom bör du kolla på figure 9-4 strax över där det framgår att
> PORTB4-7 INTE kan ge speciellt mycket ström ut, de har "weak pull-up" enbart.

Nja, de har en valbar WPU när de är *ingångar*, som *utgångar* driver
de i båda riktningarna och WPU är alltid avstängt.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Läste lite dåligt... sodjan har rätt.
nanopile
Inlägg: 312
Blev medlem: 9 april 2006, 17:06:50
Ort: Stockholm

Inlägg av nanopile »

Tackar, nu kom jag på rätt spår på grund av era inlägg, det visade sig vara configuration bits som spökade.
De påverkar tydligen PORTB <5> till att vara avstängd.
Tog bort LVP i configurationbits och saken blev löst.

Tycker dock att microchip har mycket småhyss för sig.
När jag får råd att gå upp på något snabbare så kommer jag nog o välja något annat märke.
Kanske är knepigare än jag tror att göra chipen iofs.

Läste att man kan driva max 200mA på portB och max 250mA på spänningsmatning in till kretsen.
Tur att mina lysdioder bara tar 40mA när alla är på samtidigt :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Vilka "småhyss" ?

> Läste att man kan driva max 200mA...

Japp, det är väl bra. Eller vad menar du !?
Sen finns det sällan någon anledning att ligga så pass högt,
bättre att ha lte marginal.

> det visade sig vara configuration bits som spökade.
> De påverkar tydligen....

Det är väldigt tydligt dokumenterat i databladet.
Sannolikt bättre än vad det hade varit i datablad från "något annat märke"...

Jag har lite svårt att se vad som igentligen var problemet, förrutom
att du läste på lite dåligt.
nanopile
Inlägg: 312
Blev medlem: 9 april 2006, 17:06:50
Ort: Stockholm

Inlägg av nanopile »

Ja det var jag som läste dåligt eller inte förstod var jag skulle läsa, läste på många ställen men inte där.

Hyss ja, började med att jag läste i reklamen för PIC att de körde med en klockcykel per instruktion, kanon, 40MHz=40MIPS tänkte jag, icke då, de hade ju hittat på 4 kvartal så varje instruktion tar 4 klockcykler egentligen.
Vände mig mot att man skriver en sak i reklamen och en annan i databladet.
Sedan visade det sig ju att det finns en del instruktioner med ännu längre tidsbehov.
Inget fel utom att det inte stämmer med "enbart en klockcykel per instruktion".

Hmm, kan jag komma på något mer nu, hmm, har trasslat i timmar och dagar ibland med att förstå olika register och varför de inte fungerar som det står tills man listar ut att man också måste slå på något i ett annat register först.
Tycker sådant borde stå där registret finns beskrivet.

Nåja, har väl med egen bristande intelligens o göra också men det vill man ju inte erkänna, och att de som gör dokumentationen inte tänker som mig ;)
Nåja, det är nog jag som inte är databladskompatibel.
Problemet är nog egentligen att det är enklare att klaga på databladet.
Skulle vara intressant o göra ett eget datablad någon dag o se om man kan göra något bättre.
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

På en del mikroprocessorer (t.ex gamla Z80) så delas en instruktion först in i ett antal maskincykler som är olika många beroende på instruktion. Sedan delas varje maskincykel in i ett antal klockcykler som är lika som för PIC:en, t.ex fyra. Det man gjort med PIC:en är att man gjort alla instruktioner utom hopp till en maskincykel långa. Eftersom varje maskincykel fortfarande är fyra klockcykler så kan man ju diskutera om det är en äkta risc eller inte i det avseendet. Jag låter det vara osagt hur andra "risc-arkitekturer" funkar här.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Hyss ja, började med att jag läste i reklamen för PIC att de körde med en klockcykel per instruktion,

Jag är näst intill 100% säker på att det inte står så.

> Vände mig mot att man skriver en sak i reklamen

Länk till den "reklamen" !

> Tycker sådant borde stå där registret finns beskrivet.

Igen, *exempel* tack !

Just databladen från Microchip är erkänt bra, så det vore intressant
att se vilka problem/fel du tycker att du har hittat.
nanopile
Inlägg: 312
Blev medlem: 9 april 2006, 17:06:50
Ort: Stockholm

Inlägg av nanopile »

Varning för konstigt inlägg....

Hmm, kollade upp saken med klockcyklerna och jag hade fel.
Verkar som om allt bara fanns i min skalle, men katten, jag vet ju att jag läst det, varför minns jag fel, jag vill inte ha fel trots att jag vet att man regelbundet har fel om allt möjligt :(

Suck nåja, my bad :(

Skulle iofs vilja hitta det jag fått för mig är så fel men förmodligen är det väl som vanligt att jag tänker annorlunda än vad databladsmakarna gjort.

Vetekatten hur det känns o erkänna detta, lite vimmelkantigt, har sedan barnsben någon gammal erfarenhet som säger att har man fel så åker man i fängelse typ.
Kanske den försvinner om några hundra felerkännanden, "hjärtat" säger fängelse och hjärnan säger att det hjärtat tycker är fel och hjärtat håller då krampaktigt tag om felet och försvarar det för o inte hamna i fängelse.
Känner mig iaf förändringsbar nu :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Många blandar ihop *klockcykler* och *instruktionscykler*.
D.v.s det som i databladet kallas Tosc respektive Tcyc.

Tcyc = 4 x Tosc.

Eller :

Fcyc = Fosc / 4, om du vill vända på det hela...

T.ex Fosc = 20 Mhz => Fcyc = 5 Mhz (eller 5 MIPS eller vad man vill kalla det).

Sen förstår jag inte problemet med att "ha fel", det är väl bara
att räcka upp handen och högt ropa "jag har fel", å så marschera vidare
i en ny riktning... :-)

> förmodligen är det väl som vanligt att jag tänker annorlunda än vad databladsmakarna gjort.

Kanske det. Ändra det som du tycker är enklast att ändra... :-) :-)
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Som förälder har jag lärt mig att man mest gör fel.

Orsaken är att det finns så himla många sätt att göra fel på och så få att göra rätt så att tro att man kan göra rätt oftast med de odds är befängd.
nanopile
Inlägg: 312
Blev medlem: 9 april 2006, 17:06:50
Ort: Stockholm

Inlägg av nanopile »

Tack, svaren värmer :)
Skriv svar