Hjälp till en nybörjare. (PIC, C)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Garf
Inlägg: 3
Blev medlem: 12 oktober 2005, 00:18:47

Hjälp till en nybörjare. (PIC, C)

Inlägg av Garf »

Har nyss börjat exprimentera med en PIC-processor. Köppte exprimentkortet på Kjell: Velleman K8048

Skulle vilja ha hjälp med denna koden:

Kod: Markera allt

#include "16F627.H"
/*
  Circuitprogrammer Configuration:
  WDT=off, CP=off, OSC=XT, /MCLR=off  ( Pp875x switch: -xp8 )
*/
#pragma config |= 0x3ff1
#define ON 1
#define OFF 0
#pragma bit lightdiode1 @ RB0
#pragma bit lightdiode2 @ RB1
#pragma bit lightdiode3 @ RB2
#pragma bit lightdiode4 @ RB3
#pragma bit lightdiode5 @ RB4
#pragma bit lightdiode5 @ RB4
#pragma bit lightdiode6 @ RB5

void wait( void)
{
	int x, y;
	for(x=110; x>0; x--){
		for(y=50; y>0; y--){

		}
	}
}

void main( void)
{

	TRISB.0 = 0;
	TRISB.1 = 0;
	TRISB.2 = 0;
	TRISB.3 = 0;
	TRISB.4 = 0;
	TRISB.5 = 0;
	
	while(2>1){
		lightdiode1 = ON;
		wait();
		lightdiode1 = OFF;

		lightdiode2 = ON;
		wait();
		lightdiode2 = OFF;

		lightdiode3 = ON;
		wait();
		lightdiode3 = OFF;

		lightdiode4 = ON;
		wait();
		lightdiode4 = OFF;

		lightdiode5 = ON;
		wait();
		lightdiode5 = OFF;

		lightdiode6 = ON;
		wait();
		lightdiode6 = OFF;

	}

}
Felet är att diod 5 aldrig tänds utan hoppas över, vad har jag gjort för fel? Den tänds i andra kodexempel i asembler som jag testat med.
Tror felet ligger just i detta:
#pragma bit lightdiode5 @ RB4

Men jag vet inte vad?

Sen tar jag gärna emot tips på koden hur man kan förbättra och skrivsättet då jag är nybörjare å det mesta i koden är snott så förstår jag inte allt :D (speciellt dom bitarna i början)

Sen till en annan fråga. Är det nån ide att köpa PIC trainer? Då denna ej har en flashbar processor, det går ju att köpa en annan å sätta dit istället, eller vad tycker ni? Vill gärna ha mer att leka med och denna såg i övrigt rätt bra ut, eller?
Användarvisningsbild
jack
EF Sponsor
Inlägg: 2059
Blev medlem: 5 oktober 2004, 17:32:27

Inlägg av jack »

PIC-trainer är nog inte så mycket att ha. Köp fristående komponenter istället, tex LCD, realtidsklocka och tempsensor. Så har du lite att leka med.
Garf
Inlägg: 3
Blev medlem: 12 oktober 2005, 00:18:47

Inlägg av Garf »

jack skrev:PIC-trainer är nog inte så mycket att ha. Köp fristående komponenter istället, tex LCD, realtidsklocka och tempsensor. Så har du lite att leka med.
Jag är dock inte den bästa på kringkomponenter överhuvudtaget, utan vill helst ha ett färdigt kretskort med komponenter ditsatta, redao för exprimentering. Det är främst programmeringen jag vill lära mig, visserligen ska man ha en del kunskap om vad som sitter utanför microprocessorn med men det har jag bättre resurser till (medarbetare).
Användarvisningsbild
jack
EF Sponsor
Inlägg: 2059
Blev medlem: 5 oktober 2004, 17:32:27

Inlägg av jack »

Ingen av dom ovannämda komponenterna kräver särskilt mycket (eller ingen) kopplande.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Hej.
Först, sitter det verkligen en "16F627" och inte en "16F627A" på kortet ?
Konstigt att de säljer ett kort med en utgången processor i så fall...

Sen, har du provat med bara *en* rad med "#pragma bit lightdiode5 @ RB4" ?

Vad är det för utvecklingsverktyg, förresten ?

> så förstår jag inte allt (speciellt dom bitarna i början)...

Menar du CONFIG inställningarna ? De finns i databladet. Omkring sid 90-95, jag har databladet för den nya A processorn...

> Det är främst programmeringen jag vill lära mig, visserligen ska man ha en del kunskap om vad som sitter utanför microprocessorn med men det har jag bättre resurser till (medarbetare).

Är det här någon form av professionellt arbete ? Frågan är i så fall om Velleman kitten kanske är för enkla... ?
Garf
Inlägg: 3
Blev medlem: 12 oktober 2005, 00:18:47

Inlägg av Garf »

sodjan skrev:Hej.
Först, sitter det verkligen en "16F627" och inte en "16F627A" på kortet ?
Konstigt att de säljer ett kort med en utgången processor i så fall...
Jo det stämmer, står exakt: PIC16F627-04/P

sodjan skrev:Sen, har du provat med bara *en* rad med "#pragma bit lightdiode5 @ RB4" ?
Ojsan vilken miss, satt ju å kolla där i evigheter. Det knepiga är att det ändå inte funkar fast jag tog bort en av raderna?
sodjan skrev:Vad är det för utvecklingsverktyg, förresten ?
Gratis grejs jag hitta på internet :D
Men kompilatorn är iallafall: CC5X C compiler, FREE edition
sodjan skrev:Menar du CONFIG inställningarna ? De finns i databladet. Omkring sid 90-95, jag har databladet för den nya A processorn...
Tack
sodjan skrev:Är det här någon form av professionellt arbete ? Frågan är i så fall om Velleman kitten kanske är för enkla... ?


Jo den verka en aning för lätt, en lcd och lite temperaturavkänning å annat att leka med hadde inte vart fel. Men nå vidare professionellt kan jag nog inte säga, vill bara få lite andra uppgifter i arbetet :D
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Jo det stämmer, står exakt: PIC16F627-04/P

OK, max-4-Mhz versionen av den äldre 627'an. Du har väll hittat databladet till den ? Det kommer att bli svårt astt komma någonstans utan det.

Databladet finns här : http://ww1.microchip.com/downloads/en/D ... 40300c.pdf .

Sidan med för processorn finns här :
http://www.microchip.com/stellent/idcpl ... e=en010207

Den dubbla pragma raden var bara en ren chansning från mig, uppenabrligen var det inte problemet.

> CC5X C compiler, FREE edition

OK, då har du ju i alla fall ytterligare en uppsättning dokumentation att leta i... :-)

> Men nå vidare professionellt kan jag nog inte säga,...

Hm, det verkar inte vara helt hobbybetonat heller. Inte för att det spelar någon roll för *mig*, men jag antar att man tittar på lite olika kategorier prylar beroende på hur de skall användas, hur man värderar sin tid, om det är för utbildning eller prototyp-projekt, o.s.v. Om det finns det minsta seriösa behovet bakom, så kanske an skall fundera lite mer (än vad som har framkommit här, vilket ju inte behöver vara hela sanningen) så at man får rpylar somstämmer överens med behovet. Speciellt så borde prylarna använda en aktuell processor.

Till sist, personligen skulle jag rekomendera att köra assembler en tid tills man tycker att man "kan" PIC arkitekturen. Det blir då enklare att gå över till något 3G språk. En fördel är också att det är mycket enklare att få hjälp här i Forumet om man kör MPLAB, det är betydligt fler som kör (eller har kört) assembler.

PS: Jag tror inte att det är meningen att man skall använda "quote" funktionen för inlägget direkt innan, det tar ju ganska mycket plats, som du ser... :-)
Användarvisningsbild
PacMan
Inlägg: 94
Blev medlem: 3 oktober 2005, 16:12:24
Kontakt:

Inlägg av PacMan »

Hoppas det är OK att jag lånar tråden lite för en snabb fråga :) :

Hur gör jag konvertering från BYTE till CHAR och/eller STRING i C?
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

ByteVariabel = (unsigned char)CharVariabel;
CharVariabel = (char)ByteVariabel;

Plocka ut en char/byte från en string:
CharVariabel = String[x];
ByteVariabel = (unsigned char)String[x];

Ena byten i en integer:
ByteVariabel = *(unsigned char*)&IntegerVariabel;
Andra byten: ByteVariabel = *(unsigned char*)(&IntegerVariabel + 1);
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Hoppas det är OK att jag lånar tråden...

Vad är igentligen fördelen med det jämfört med att starta en ny ?
Användarvisningsbild
PacMan
Inlägg: 94
Blev medlem: 3 oktober 2005, 16:12:24
Kontakt:

Inlägg av PacMan »

Icecap: Tack för det!

Sodjan: För det första stämde ju trådrubriken rätt bra med min fråga också, och för det andra verkar en del på den här typen av forum (inte nödvändigtvis detta, det vet jag inget om än) irritera sig på att det startas nya trådar på ämnen som eventuellt kan ha tagits upp någon gång förut. Om det nu inte fskulle finnas någon sådan mentalitet på detta forum, så är det ju bara bra. :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Helt OK.
Bara lite nyfiken... :-)
Skriv svar