Nybörjarfråga om OSCCAL och andra register.

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
bos
Inlägg: 2314
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Inlägg av bos »

Jag har aldrig använt 10F, men jag tror att du skulle lyckas bättre om du använder en 12F istället. Med tanke på att du har 16F-kod, alltså. Alternativet är att du går igenom 16F-koden, rad för rad, och läser 10F-databladet och skriver om koden efter att ha dubbelläst informationen i databladet.

Senare kretsar är oftast bakåtkompatibla med tidigare, men det motsatta tvivlar jag på att det gäller. Jag vågar därför gissa att det är detta som är felet. Om du hade kört 10F-kod på en 16F så hade det nog fungerat.

Fast sodjan eller de andra har nog ett bättre svar åt dig, för 90% av allt ovan är alltså gissningar då jag inte har använt 10F nångång.

Finns det någon särskild anledning till att du vill använda 10F, eller är det för att du råkade ha en hemma?
m4rtin
Inlägg: 34
Blev medlem: 23 januari 2008, 14:21:42
Ort: Halmstad

Inlägg av m4rtin »

OKej, men jag menade inte att jag använder samma kod till 16f som 12f-serien. Gav bara ett exempel på att jag kan läsa in program i en 16f-pic, medans det inte fungerar med 10f.

/MArtin
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

OK, så här är det... :-)

10F är ingen bra start-modell. Den är klart "trixig" både hårdvarumässigt
(få pinnar, dela funktion med programmering o.s.v) och programmeringsmässigt.
10F använden den gamla "base-line" syntaxen som användes i äldre
PICs. De nyare 12F och 16F använder "midrage" syntax. Detta ställer
en del andra krav på själva asm-koden som man inte har för 12F/16F.

Men, om du har koll på detta, så är det naturligtsvis bara att köra på... :-)

Varför du inte kan flasha just nu, vet jag inte.
Vi vet ju inte ens hur du har kopplat, så du får felsöka själv, antar jag.

> Om du hade kört 10F-kod på en 16F så hade det nog fungerat.

Nej, inte rakt av. Det är för stora skillnader mellan "base-line" och "midrange".

> Finns det någon särskild anledning till att du vill använda 10F,

Det är också en central fråga i det hela... :-)
m4rtin
Inlägg: 34
Blev medlem: 23 januari 2008, 14:21:42
Ort: Halmstad

Inlägg av m4rtin »

Okej, då har jag lite mer koll på vadför det kan krångla! Anledningen till att jag vill använda 10f-serien är pga dess storlek. I det prototypbygget vi håller på är platsytan väldigt begränsad. 10f, finns som ytmonterad med 6bens-kappsel, vilken som skulle vara perfekt.
Men som det ser ut nu kommer jag skaffa mig en PIC i tolvserien istället, och hoppas att den fungera. Den blir klart lite större, men det får gå ändå.

Men kasst är det allt att en helt ny PICSTART PLUS för 2400kr inte klarar av vad den är specad för :(


/Martin
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

12F i 8-pinnars SMD kapsel är inte *så* mycket större.
Men visst, 10F är framtagna då man vill ha minsta möjliga kapsel.

> Men kasst är det allt att en helt ny PICSTART PLUS för 2400kr inte klarar av vad den är specad för

Jag är inte alls övertygad om att det faktiskt är så.
Enligt Microchip så ska man ha :

"PICSTART PLUS DEVELOPMENT SYSTEM (DV003001) Adapter: AC163020"

(D.v.s för SOT modellen. DIP8 kapseln ska fungera direkt.

Min gissning är att du gör något fel.
probe
Inlägg: 282
Blev medlem: 2 februari 2008, 21:04:26
Ort: Stockholm

Inlägg av probe »

Jag har kört mycket 10F och aldrig haft några problem alls faktist med att programmera dessa. Jag håller med om mycket som skrivs om 10F. De ÄR gammal och lite bökiga att programmera (ja, skriva programmet då..), men de har en del fördelar som gör dem användbara till en del saker. När det gäller småttingar så är annars 12HV615 en klar favorit. Modernare, 14-bitars, CCP, A/D, 8MHz intosc och direkt HW-stöd för halvbrygga vid PWM. Ja, mycket godis och i lilla kapsel med 0,65 pitch (inte QFN) så är den inte så mycket större än en 10F och för småserier så gör priset inget heller samt att om appikationen tillåter lite slöseri på ström så spar man in på en spänningsregulator också... Roligt med småkapslar som man kan löda själv utan ugn... Och dessutom QFN är kass med hemmagjorda kort då man inte kan dra ledare under kapsel på grund av jordklumpen som sitter där.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

(Ang 10F...)

> De ÄR gammal...

Nej, det är de igentligen inte. Det är en av de nyaste PIC familjerna.

> och lite bökiga att programmera

Ja lite, p.g.a att de (Microchip) valde en äldre *arkitektur* (för att spara kisel antagligen).
m4rtin
Inlägg: 34
Blev medlem: 23 januari 2008, 14:21:42
Ort: Halmstad

Inlägg av m4rtin »

Hej igen. Nu har jag skaffat mig en 12f675 istället, och behöver lite hjälp med den med. Vill testa lägga ut 1: or, 0: or på I/O-potarna till att börja med, men får det såklart inte att fungera. Koden kommer nog till stora delar av andra här på forumet, men jag förstår hur det ska fungera.

Som innan använder jag MPLAB 7.5 tillsammans med en picstart plus



Configurationbits är satta som
Oscillator Internal RC No clock
Watsdog timer off
Power up timer off
Master Clear Enable External
Brown out detect off
Data EE Read protect off

Kod: Markera allt

         List	p=12f675
	 include <p12f675.inc>

	org	0x00			;Startar programmet på adress Hex 00
;****************************************************************

	BANKSEL	TRISIO		;Öppnar Bank 1
	movlw	b'00000000'
	movwf	ANSEL		;Alla portar är digitala(ans0-3=bit0-3)
	movlw	b'00000000'	
	movwf	TRISIO		;Alla portar är utgångar utom gp3..

	BANKSEL	GPIO		;Öppnar Bank 0
	clrf	GPIO		;init GPIO
	bcf		ADCON0,ADON	;A/D omvandlare avstängd.
	movlw	b'00000111'
	movwf	CMCON		;Comparator OFF

loop
	movlw	b'00011110'	;GP0 = "0", resten på, dvs "1"
	movwf	GPIO
	goto	loop
END
Borde inte detta fungera? Vill mäta med en multimeter på picen och se resultat... När jag trycker på program kommer det upp en ruta där det står "calibration memory is already programmed", sen händer det inget mer..

Vad menas?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Ser inget uppenbart problem med själva koden.

> Vad menas?

Vet inget om Picstart, du kanske får kolla med dokumentationen till den.

PS:
Det är ofta bättre att sätta CONFIG i själva koden så att det går
att se att du verkligen har satt det som du säger...
probe
Inlägg: 282
Blev medlem: 2 februari 2008, 21:04:26
Ort: Stockholm

Inlägg av probe »

Nej, oki - 10F är inte så gamla, men känns gamla då de är som en gammal äcklig 12.bitars. Inga jätteproblem, men störande att vissa saker inte ligger i SFR vilket gör att man måste skriva om kod från 14-bitars rätt mycket innan den fungerar.

"nya" 12F är så mycket behagligare att programmera i ASM bara för att de är mer lika 16F (ja, samma grund så inte så märkligt ;) ) Men men, 12F675 är ett bra val. Men varför inte köra 12F615 istället direkt? Samma pris (faktist lägre) och lite mer godis. Samma pinout, men fler möjligheter.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Eller 12F683, som jag tycker är trevlig. Nanowatt (komplett 32KHz-8MHz INTOSC),
mer minne (dubbelt mot 12F675, 629, 615) m.m.
Samma "generation" som 16F688, 16F88, 16F886 och 16F887. (14, 18, 28 och 40 pin).

Och i de fall där man *måste* ha en 10F, så är nog 12-bitars arkitekturen
det minsta problemet... :-)
probe
Inlägg: 282
Blev medlem: 2 februari 2008, 21:04:26
Ort: Stockholm

Inlägg av probe »

Nej, sant - 10F använder man (jag iaf) enbart för att spara komponenter och göra enkla saker - typ uppstartsfördröjningar, sekvensteg, PWM-generator och liknande och i de fallen är inte 12-bitars arkitekturen så begränsande.

När det gäller 12F6xx så har jag aldrig haft problem med minnet på 675,615 då det räcker väldigt långt när man kör assambler. Senaste projektet blev hela koden 0x90 word bara... och då med A/D, reglering och PWM.... Man spar mycket bök med allt inbyggt i kapseln onekligen...

12F683 är bra, men lite dyr om man inte behöver minnet. Dessutom så saknar den halvbrygge stödet i CCP-modulen vilket är trevlig att ha om man gör regulatorer med den, men det är väl därför microchip gör många olika modeller beroende på vad man vill ha ;)
m4rtin
Inlägg: 34
Blev medlem: 23 januari 2008, 14:21:42
Ort: Halmstad

Inlägg av m4rtin »

Inte svarat på ett tag nu, vart i österike... Men fick igång programmet nu, va nog mest skit bakom sparkana. Fast 10F-picen vill fortfaradne inte funka... hursom, tack för hjälpen.
Har jag fler frågor skapar jag en ny tråd, denna ligger för långt från ämnet nu.


mvh Martin S
Skriv svar