Sida 1 av 1

Vilken dag :D - Frågor

Postat: 22 augusti 2005, 15:36:59
av Logan
Läs om ni orkar frågor kommer längre ner...

Idag när man vaknade så var det som julafton. Jag sprang ut till brevlådan och där låg det, ett paket till mig :D
I paketet så ligger det en massa komponenter och roliga saker.
För att inte stressa och göra saker fel så lägger jag paketet på rummet och äter en regäl frukost och allt det dära man gör på morgonen.
Sedan så kopplade jag upp en PIC16F877A på plattan och skulle göra min rediga första blina en LED. För att testa så laddade jag ner en färdig kod för att det skulle vara rätt. Startade upp xwisp2w, men prgramet klagade...
Kollade runt lite vad som kunde vara fel. :x Glömde sätta på nätaget.
Med precis när jag slog på så brummade det redigt :shock:
Såg att V mätaren stog på ca 2 volt och A på mer än 0.8A. Som tur var så viste jag att det inte stämde så jag slog av strömmen illa kvickt.
Kliar mig på huvudet och letar som en galning på vad felet kunde vara. Och plötsligt så hör jag konstiga ljud från källaren, lät precis som det var en tjuv som försökte ta sig in :roll:
Gick sakta fram till trappan och kollade ner, såg inget först men så hoppar en falk fram på runta :) Rusar upp och hämtar kameran och plåtar den rackan med ca 40 kort. (Bilder kan läggas upp om ni vill se, en film belv det med).
Men sedan när jag tröttnade på den så gick jag upp igen, kollade på plattan en gångtill. Doooo!!! Hade vänt på polerna på pinne 11 och 12 :(
Men efter det fixat så fick jag den att blinka Hello wold känslan kom tillbaka 8)

Till frågor.
Hur pass känsliga är en pic för felkoplingar?
Stödjer Wisp628 dessa 12F683 & 16F688. Kollade runt på tillverkarens sida men det stog inget om just dom PICen.

Postat: 22 augusti 2005, 15:43:52
av sodjan
> "Hur pass känsliga är en pic för felkoplingar?"

Beror mycket på vad en "felkoppling" är... :-)

Jag har haft flera som har "överlevt" en bakvänd matningsspänning.

Men ! Märk den gärna på något sätt, och var beredd på att allt i den kanske inte fungerar normalt längre. Använd den för labbar och tester där funktionen inte är kritisk, men används en PIC som inte är "misshandlad" i färdiga applikationer.

> "Stödjer Wisp628 dessa 12F683 & 16F688..."

Japp, de flesta PIC16Fxxx har samma programmerings algoritm.
Jag ar kört båda utan problem (som jag känner till i alla fall).
Det är ett litet helsike att hänga med i alla nya versioner...

Postat: 22 augusti 2005, 15:53:51
av Logan
sodjan: Ok ska märka upp den, tack för tipset. PIC16Fxxx Då använder dom sig av samma namn på pinnar för att skriva till picen med?

Postat: 22 augusti 2005, 16:44:44
av sodjan
The data sheet is your friend... :-)

Ofta stämmer pinnarna överens, men det finns *ingen* anledning att *inte* kolla med databladet när man skall testa en ny variant första gången !
De är bara att ladda ner...

En annan sak som jag kom att tänka på...

Alla datablad har en del med instruktionsuppsättningen. Dock är den beskrivning som finns i "PICmicro mid-range reference manual" kapitel 29 lite bättre med mer detaljerade beskrivningar.

Se : http://ww1.microchip.com/downloads/en/D ... 31029a.pdf

Förrutom detta kapitel är jag inte så förtjust i referensmanualen, de (Microchip) är lite dåliga att uppdatera den med de senaste finnesserna. Hur som helst, det är ju alltid varje inviduellt datablad som gäller i alla fall...

Postat: 22 augusti 2005, 19:34:20
av Logan
ok, Vilket språk funkar bra?
Vet inte vilket språk detta är men det värkar vara lätt!

Kod: Markera allt

include f877_20
include jlib     

pragma target fuses 0x3F32       

disable_a_d_functions

var bit LED is pin_a0
pin_a0_direction = output

forever loop
  delay_100ms( 5 )
  LED = high
  delay_100ms( 5 )
  LED = low
end loop
Gämfört med:

Kod: Markera allt

ReadIR		call	Read_Pulse
		btfss	Flags,	StartFlag
		goto	ReadIR			;wait for start pulse (2.4mS)

Get_Data	movlw   0x07			;set up to read 7 bits
                movwf   Bit_Cntr
                clrf    Cmd_Byte
Next_RcvBit2    call	Read_Pulse
		btfsc	Flags,	StartFlag	;abort if another Start bit
		goto	ReadIR
		btfsc	Flags,	ErrFlag		;abort if error
		goto	ReadIR

Postat: 22 augusti 2005, 20:32:40
av sodjan
OK :-) Du har hittat JAL.

Alltså, JAL är något som Wouter van Ooijen har "hittat på". Det är någon slags "högnivå assembler" som han använder i sina egna projekt. Bl.a är den programvara som snurrar i den 16F628A som sitter i Wisp628'an skriven i JAL. Men den behöver man ju aldrig "se", så det spelar mindre roll.

JAL är ett "kul projekt", som väll har avstannat i dag. Den stöder PIC16 "hyggligt", men stödet för PIC18 brister rejält.

Det finns en mindre JAL grupp med några fantaster, men jag ser ingen riktig anledning att fundera mer på det.

Så här i början finns det igentligen *ingen* anledning att titta på något annat än assembler. D.v.s om man verkligen vill lära sig hur processorerna fungerar från grunden. Visst, man kan kanske snabbare få något att "snurra" med någon av alla de Basic, C eller Pascal varianter som finns där ute, men man får inte samma grundläggande förståelse för hur det fungerar i grunden. Och när kompilatorerna inte gör det man vill, sitter man mer i sjön än annars.

Hur lättläst ett assembler program blir, beror helt på programmeraren (alltså dig själv). När man har gjort ett par tre ASM program, så är det lätt att bara kopiera och bygga vidare på det man har.

Så för att svara på din fråga "Vilket språk funkar bra?", så kan man väll säga att assembler fungerar åtminstånde alltid... :-)

I dina två exempel är ASM delen lite svårläst p.g.a en konstig formatering.