µC för nybörjare
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: µC för nybörjare
Kunde inte hålla mig så jag rotade fram kitet för att prova och mycket riktigt så fungerade det bra nu.
Fanns mycket matnyttigt i MikroC's hjälpmeny... Klantigt att inte tänka på det men vad ska man säga? Även solen har sina fläckar?
På tal om datablad, VARFÖR har Microchip kombinerat flera controllers i ett datablad?? Jag ogillar starkt att läsa såna dokument på datorn utan vill hellre skriva ut dom men tycker det blir lite onödig regnskogsskörd då dokumentet är på nästan 300 sidor(!) Ni råkar inte veta om dom har någon slags databladsgenerator eller dylikt hittar ingen när jag söker) Eller hur brukar ni göra?
Fanns mycket matnyttigt i MikroC's hjälpmeny... Klantigt att inte tänka på det men vad ska man säga? Även solen har sina fläckar?
På tal om datablad, VARFÖR har Microchip kombinerat flera controllers i ett datablad?? Jag ogillar starkt att läsa såna dokument på datorn utan vill hellre skriva ut dom men tycker det blir lite onödig regnskogsskörd då dokumentet är på nästan 300 sidor(!) Ni råkar inte veta om dom har någon slags databladsgenerator eller dylikt hittar ingen när jag söker) Eller hur brukar ni göra?
Re: µC för nybörjare
Det har dom väl inte ? eller vilket datablad menar du ?
Ofta kombinerar dom ju flera PIC'ar i samma datablad efterssom det är samma chip i dom, men olika kapslingar med olika antal io-pinnar framdragna, eller samma chip men olika mänhgd FLASH/RAM/EEPROM.
Typ: http://ww1.microchip.com/downloads/en/D ... 41291G.pdf
Där man snabbt ser på sid 2 i databladet vad skillnaderna är, allt annat är ju samma.
men det kanske inte var så du menade ?
Ofta kombinerar dom ju flera PIC'ar i samma datablad efterssom det är samma chip i dom, men olika kapslingar med olika antal io-pinnar framdragna, eller samma chip men olika mänhgd FLASH/RAM/EEPROM.
Typ: http://ww1.microchip.com/downloads/en/D ... 41291G.pdf
Där man snabbt ser på sid 2 i databladet vad skillnaderna är, allt annat är ju samma.
men det kanske inte var så du menade ?
Re: µC för nybörjare
Magnus_K: menar du att det blir mindre papper om det blir 298 sidor för varje version av samma chip istället för 300 sidor med skillnaden i antal pinnar inkluderat?
Sedan är 300 sidor knappast speciellt, den µC jag jobbar med just nu har 1612 sidor...
Vill du spara papper kan du göra som jag gjorde: köpa en skrivare som kan utskriva dubbelsidigt automatisk, då sparar du i ett slag hälften av pappret.
Sedan är 300 sidor knappast speciellt, den µC jag jobbar med just nu har 1612 sidor...
Vill du spara papper kan du göra som jag gjorde: köpa en skrivare som kan utskriva dubbelsidigt automatisk, då sparar du i ett slag hälften av pappret.
Re: µC för nybörjare
Hmm, PIC32 är väl närmare 5-6000 sidor dubbelsidig utskrift.
Datablad + Referens + MIPS-Referens
Datablad + Referens + MIPS-Referens
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: µC för nybörjare
Nja, det jag menade var att det skulle underlätta om "mitt" datablad endast täcker "min" controller. Sen om det finns flera controllers med samma chip så hade det blivit flera datablad. Å andra sidan så tar man bort de sidor som skiljer sig så kanske det bara försvinner 10 sidor. Spelar nog inte stor roll jämfört med biblarna ni verkar sitta med...
@Glenn: Just så. Man ser ju att även i det databladet som du länkade till så har dom tex flera olika "special function registers", ett par olika "pinout description". Jag förstår att det behövs men tyckte det var lite irriterande igår. Laddar jag ner databladet till min PIC16F690, bläddrar till sidan för pinout description, så vill jag ha just "min" pinout description.
Det här är garanterat inget som ni ens reflekterar över men jag gjorde misstaget igår att kolla på fel sida ett par ggr vilket var anledningen till att jag frågade.
EDIT: @Icecap: Ja det får bli så. (angående dubbelsidigt alltså)
@Glenn: Just så. Man ser ju att även i det databladet som du länkade till så har dom tex flera olika "special function registers", ett par olika "pinout description". Jag förstår att det behövs men tyckte det var lite irriterande igår. Laddar jag ner databladet till min PIC16F690, bläddrar till sidan för pinout description, så vill jag ha just "min" pinout description.
Det här är garanterat inget som ni ens reflekterar över men jag gjorde misstaget igår att kolla på fel sida ett par ggr vilket var anledningen till att jag frågade.
EDIT: @Icecap: Ja det får bli så. (angående dubbelsidigt alltså)
Re: µC för nybörjare
> Laddar jag ner databladet till min PIC16F690, bläddrar till sidan för pinout description, så vill jag ha just "min" pinout description.
Jaha !?
Vad innehåller sidan 6 "PIC16F690 Pin Diagram" då?
Ingen skulle väl få iden att läsa t.ex sidan 3 "PIC16F677 Pin Diagram" !?
För övrigt är det väldigt få andra skillnader, och i de fall det är några så
är det tydligt angivet. T.ex i delen om PORTC står det på några ställer t.ex:
"Note 1: CCP1 and P1A are available on PIC16F685/PIC16F690 only."
> men jag gjorde misstaget...
Det är så klart helt OK!
Men skyll inte på databladet...
Jaha !?
Vad innehåller sidan 6 "PIC16F690 Pin Diagram" då?
Ingen skulle väl få iden att läsa t.ex sidan 3 "PIC16F677 Pin Diagram" !?
För övrigt är det väldigt få andra skillnader, och i de fall det är några så
är det tydligt angivet. T.ex i delen om PORTC står det på några ställer t.ex:
"Note 1: CCP1 and P1A are available on PIC16F685/PIC16F690 only."
> men jag gjorde misstaget...
Det är så klart helt OK!

Men skyll inte på databladet...
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: µC för nybörjare
Sitter och grubblar lite men finner inte det jag söker. Kanske för att det inte går, vad vet jag...
Som tidigare så använder jag PIC16F690, Pickit 2 och MikroC.
Kan man i en funktion/rutin/loop ändra config på en pinne på PIC'en?
Det jag undrar är: om man till en start konfigurerar tex RA0 till Digital Ut, kan man i en funktion/rutin/loop i programmet konfigurera den som en Analog In, för att senare återgå till digital?
Funderingen uppkom då jag klurade på om man kan använda samma pinne men för olika funktioner...
Om det inte fungerar, finns det någon som kan berätta varför?
Om det fungerar, kallas detta för något speciellt eller står det i "klartext" men jag missar det?
Svaret på den här frågan kanske gäller generellt alla microcontrollers pga någon anledning?
Som tidigare så använder jag PIC16F690, Pickit 2 och MikroC.
Kan man i en funktion/rutin/loop ändra config på en pinne på PIC'en?
Det jag undrar är: om man till en start konfigurerar tex RA0 till Digital Ut, kan man i en funktion/rutin/loop i programmet konfigurera den som en Analog In, för att senare återgå till digital?
Funderingen uppkom då jag klurade på om man kan använda samma pinne men för olika funktioner...
Om det inte fungerar, finns det någon som kan berätta varför?
Om det fungerar, kallas detta för något speciellt eller står det i "klartext" men jag missar det?
Svaret på den här frågan kanske gäller generellt alla microcontrollers pga någon anledning?
Re: µC för nybörjare
Visst går det.
Det är bara att skriva till TRIS, ANSEL, CMCON etc - precis som jag antar att du gör i initieringen.
Det är bara att skriva till TRIS, ANSEL, CMCON etc - precis som jag antar att du gör i initieringen.
Re: µC för nybörjare
Visst kan man det. Det är inte ovanligt att man t.ex växlar en I/O-pinne mellan ingång och utgång satt till 0, för att få en open-collectorfunktion.
Re: µC för nybörjare
Att växla mellan analog och digital är inte lika vanligt.
Man bör t.ex inte driva en digital ingång frm en analog källa
(som kan ha vilken spänning som helst). En digital ingång bör
inte drivas annan än "hög" resp "låg". Det är också därför som
alla pinnar med analoga funktioner är analoga från reset.
Men generellt så kan du självklart göra vad du vill med dina
pinnar när som helst.
Man bör t.ex inte driva en digital ingång frm en analog källa
(som kan ha vilken spänning som helst). En digital ingång bör
inte drivas annan än "hög" resp "låg". Det är också därför som
alla pinnar med analoga funktioner är analoga från reset.
Men generellt så kan du självklart göra vad du vill med dina
pinnar när som helst.
Re: µC för nybörjare
Det går att göra massa fräna tricks med mjukvara om man tänkt lite när man gjorde hårdvaran. På jobbet har vi en digital utgång som styr en funktion, samma funktion kan styras av en bygling på kretskortet (byglingen har prio). Huruvida utgången är hög eller låg vet ju mjukvaran, men hur vet vi om bygligen är satt eller inte?
Men där sitter en kondensator och motstånd i lämplig koppling. Vi kan sätta utgången hög en kort stund, växla pinnen till ingång och läsa, är den hög så laddade vi upp kondingen som sedan höll spänningen de microsekunder det tog att växla till ingång och läsa. Är den låg var byglingen där och jordade kondingen. Nu vet vi
MVH: Mikael
Men där sitter en kondensator och motstånd i lämplig koppling. Vi kan sätta utgången hög en kort stund, växla pinnen till ingång och läsa, är den hög så laddade vi upp kondingen som sedan höll spänningen de microsekunder det tog att växla till ingång och läsa. Är den låg var byglingen där och jordade kondingen. Nu vet vi

MVH: Mikael
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: µC för nybörjare
Tack för svaren!
Det var som tusan. Trodde faktiskt jag skulle få raka motsatsen som svar med motiveringen: när programmet väl kört initieringen en gång så år det inte ändra config'en förrän reboot, eller dylikt.
Har inte heller någon applikation där jag ska använda det här men det kommer bli mycket roligt att prova. Kanske blir en "adent-krets"? Tack för inspirationen adent!
(ska nog köpa några PIC'ar i reserv för spontant känns det som om det kan gå åt några åt det här lilla experimentet... med tanke på sodjan's svar)
Finns det några som helst limiteringar i förhållande till vald PIC? Kan jag läsa om det här någonstans eller handlar det om erfarenhet och lärdom?
Det var som tusan. Trodde faktiskt jag skulle få raka motsatsen som svar med motiveringen: när programmet väl kört initieringen en gång så år det inte ändra config'en förrän reboot, eller dylikt.
Har inte heller någon applikation där jag ska använda det här men det kommer bli mycket roligt att prova. Kanske blir en "adent-krets"? Tack för inspirationen adent!
(ska nog köpa några PIC'ar i reserv för spontant känns det som om det kan gå åt några åt det här lilla experimentet... med tanke på sodjan's svar)
Finns det några som helst limiteringar i förhållande till vald PIC? Kan jag läsa om det här någonstans eller handlar det om erfarenhet och lärdom?
Re: µC för nybörjare
> (ska nog köpa några PIC'ar i reserv för spontant känns det som om det kan gå åt några åt det här lilla experimentet... med tanke på sodjan's svar)
Risken att något ska paja är liten, men funktionen kan bli konstig och strömförbrukningen
kan bli högre än normalt.
> när programmet väl kört initieringen en gång...
Det är bara helt vanlig kod! Processorn i sig har inte en
susning om att du kanske kallade koddelen för "init"...
> Finns det några som helst limiteringar i förhållande till vald PIC?
Förrutom vad som framgår av databladet? Vad tänker du på specifikt?
Risken att något ska paja är liten, men funktionen kan bli konstig och strömförbrukningen
kan bli högre än normalt.
> när programmet väl kört initieringen en gång...
Det är bara helt vanlig kod! Processorn i sig har inte en
susning om att du kanske kallade koddelen för "init"...
> Finns det några som helst limiteringar i förhållande till vald PIC?
Förrutom vad som framgår av databladet? Vad tänker du på specifikt?
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: µC för nybörjare
Ok. jag förstår att "det bara är kod".
Vet inte hur jag formulera mig.. Tänkte mer om det fanns några direkta no-no's när det gäller just att använda samma pinne för flera funktioner. Äsch, vi struntar i det.
Vet inte hur jag formulera mig.. Tänkte mer om det fanns några direkta no-no's när det gäller just att använda samma pinne för flera funktioner. Äsch, vi struntar i det.
Re: µC för nybörjare
Kan inte PIC men på AVR så finns det några pinnar som definieras vid programmeringen, via "fuses", och som inte kan omkonfigureras med kod.
Det är Reset-pinnen som du kan välja att omkonfigurera till en vanlig IO-pinne. Gör även att kretsen inte kan omprogrammeras hur som helst.
Dessutom kan två IO-pinnar programmeras om till att användas för en extern kristall istället.
Detta görs alltså vid programmeringen av kretsen, inte vid "boot".
Det är Reset-pinnen som du kan välja att omkonfigurera till en vanlig IO-pinne. Gör även att kretsen inte kan omprogrammeras hur som helst.
Dessutom kan två IO-pinnar programmeras om till att användas för en extern kristall istället.
Detta görs alltså vid programmeringen av kretsen, inte vid "boot".