Hjälp med att komma igång med wisp648

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
slowfly
Inlägg: 829
Blev medlem: 16 maj 2005, 20:14:15
Ort: Solna

Hjälp med att komma igång med wisp648

Inlägg av slowfly »

Hej!

Har under en längre stund tänkt börja med PICprocessorer, nu har jag kommit en bit på vägen!
Köpte en wisp648 av Jescab som jag byggt och testat med exempelkod från www.voti.nl.
Den funkade finfint och lysdioden jag kopplat upp blinkade som den ska. Tänkte att jag skulle testa ändra hur snabbt lysdioden blinkade genom att skriva om lite i *.jal filen som också fanns på samma sida men nu har jag kört fast ordentligt och får det inte att fungera att kompilera om filen till hex så jag kan skicka in den i min 16f628A.
Någon som kan hjälpa mig på traven i hur man går de steg från kod till färdig hex fil?
Jag är helt grön på picprocessorer men har hållt på ganska mycket med basicstamp. Programmering är jag däremot bättre på pascal, c++ och basic har jag lärt mig i skolan.

Hoppas någon som sagt kan hjälpa mig, kanske hjälpa mig att välja rätt programmeringsspråk och det där med kompileringen.

Tack på förhand!
//Elias
Användarvisningsbild
Icecap
Inlägg: 26645
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

"...hjälpa mig att välja rätt programmeringsspråk..." och det är inte JAL!

Använd assembler till att börja med.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Högnivå och uC är lite sådär, men helt rätt på lite större uC, men (igen) skall man köra högnivå på uC så är nog JAL inte riktigt rätt språk. C är bättre på alla sätt och vis och om inte annat lättare att få hjälp med det då det säkert finns 200 gånger fler som är duktiga på C än på JAL.

JAL går säkert att använda - jag har testat det en gång och.. det fungerade - så helt kass är det inte, men inget att bygga vidare på heller. Kör hellre C eller ASM
Användarvisningsbild
slowfly
Inlägg: 829
Blev medlem: 16 maj 2005, 20:14:15
Ort: Solna

Inlägg av slowfly »

Okey då struntar jag i Jal och allt vad det heter...
Har tankat hem MPLAB från PIC men vet inte riktigt hur jag ska dra igång ett program. Någon som har någon bra exempelkod för att blinka en lysdiod med en 16F628?
Användarvisningsbild
Icecap
Inlägg: 26645
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Kolla lite på sodjans sida
Användarvisningsbild
slowfly
Inlägg: 829
Blev medlem: 16 maj 2005, 20:14:15
Ort: Solna

Inlägg av slowfly »

Tack för tipset såg inte info delen förut :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Alltså, att *börja* sin resa i PIC världen genom att pilla med firmware
till programmeraren, låter väl kanske inte som riktigt rätt ände... :-) :-)

Och JAL är en väldigt udda konstruktion som det igentligen inte finns
mycket anledning att bry sig om alls.

> Någon som har någon bra exempelkod för att blinka en lysdiod med en 16F628?

Kod: Markera allt

;**********************************************************************
;   Enkelt blink-a-led, 16F628A.
;
;**********************************************************************
;    Other files required:
;    16F628A.LNK (lägg till i projektet som "Linker Script" !)
;
;**********************************************************************

  list      p=16f628A
  #include <p16f628A.inc>
	
  __CONFIG   _DATA_CP_OFF & _CP_ON & _LVP_OFF & _BODEN_OFF & _BOREN_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC & _MCLRE_ON

RESET_VECTOR    CODE    0x000     ; processor reset vector
  goto    start             ; go to beginning of program


INT_VECTOR      CODE    0x004     ; interrupt vector location
  goto    isr_routine       ; goto main interrupt service routine.
        

;***************************************************************
MAIN    CODE

start

  banksel cmcon
  movlw   h'07'
  movwf   cmcon            ; Stäng av ADC, se databladet om PORTA.

  banksel trisa
  clrf    trisa
  clrf    trisb             ; Alla pinnar = utgångar.

  banksel t1con
  movlw   b'00110001'
  movwf   t1con             ; Se databladet om Timer1.
        
  banksel pie1
  movlw   b'00000001'
  movwf   pie1              ; Enable avbrott från TMR1.

  banksel intcon	
  bsf     intcon, peie     ; Enable "peripheral interrupts".
  bsf     intcon, gie      ; Enable "global interrupts".

loop
  goto loop                 ; Vänta på avbrott (interrupt)...
 


;***************************************************************
ISR_ROUTINE  CODE

isr_routine                ; avbrott/interrupt rutin.

  banksel porta
  comf    porta            ; Blinka med hela PORTA!

  banksel pir1
  bcf     pir1, tmr1if     ; återställ avbrotts flagga.

  retfie

  end
Användarvisningsbild
slowfly
Inlägg: 829
Blev medlem: 16 maj 2005, 20:14:15
Ort: Solna

Inlägg av slowfly »

Har kollat i din guide hur man börjar göra ett projekt i MPLAB men jag förstår inte riktigt det där med att man ska lägga till 16f628.LNK filen? Får upp två rutor en output och en LEDblink.mcw. Står sen att man ska högerklicka på Linker Scripts men när man gör det så får man sedan välja ett *.lkr fil till projektet. Känns lite fel?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Exakt så ska du göra. :-)
Väl en (d.v.s *rätt*) LKR fil från MPLAB's installations katalog.
Användarvisningsbild
slowfly
Inlägg: 829
Blev medlem: 16 maj 2005, 20:14:15
Ort: Solna

Inlägg av slowfly »

Bra! Då är jag snart färdig med första projektet!
Men när man trycker på build all så ska det bildas några filer i en mapp där projektet ligger. men det som händer är att rutan med nedanstående text kommer upp men jag får inga filer! vad måste jag göra?

Kod: Markera allt

Clean: Deleting intermediary and output files.
Clean: Deleted file "D:\Programmering\Led\ledblink.o".
Clean: Deleted file "D:\Programmering\Led\ledblink.lst".
Clean: Deleted file "D:\Programmering\Led\LEDBlink.lib".
Clean: Deleted file "D:\Programmering\Led\LEDBlink.mcs".
Clean: Done.
Executing: "D:\Program\Programmering\MPLAB\MPASM Suite\MPAsmWin.exe" /q /p16F628A "ledblink.asm" /l"ledblink.lst" /e"ledblink.err" /o"ledblink.o" /c-
Message[302] D:\PROGRAMMERING\LED\LEDBLINK.ASM 33 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] D:\PROGRAMMERING\LED\LEDBLINK.ASM 34 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] D:\PROGRAMMERING\LED\LEDBLINK.ASM 42 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[305] D:\PROGRAMMERING\LED\LEDBLINK.ASM 59 : Using default destination of 1 (file).
Executing: "D:\Program\Programmering\MPLAB\MPASM Suite\MPLib.exe" /c "LEDBlink.lib" "D:\Programmering\Led\ledblink.o"
MPLIB 4.14, Librarian
Copyright (c) 2007 Microchip Technology Inc.

Errors    : 0

BUILD SUCCEEDED: Tue Jan 08 22:59:46 2008
Så ser det ut i rutan.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Va bra ! Helt perfekt.

302-varningarna kan du kolla i MPASM manualen vad de betyder.
Det är alltså "bara" varningar och vill bara kolla att du har koll... :-)

305 varningen är mindre snygg och den bör åtgärdas.
Jag antar att rad 59 är "comf porta", ändra till "comf porta, f" så försvinner den.
För att kolla varför den försvinner, kolla COMF i databladet...

> MPLIB 4.14, Librarian

Här är något galet !
Har du verkligen kört en "build" (F10 t.ex) ??
La du till LKR filen under "Linker Scripts" ??
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Kolla : Projekt -> Build Options -> Project -> MPASM/C17/C18 fliken.
Är "Build library target" valt ? I så fall byt till "Build normal target".
Användarvisningsbild
slowfly
Inlägg: 829
Blev medlem: 16 maj 2005, 20:14:15
Ort: Solna

Inlägg av slowfly »

"Build library target" Va i kryssad så den har jag nu ändrat!

Fattar inte riktigt det där med 302 varningen? Läste lite men fattade inte så mycket...
Känns som ett ganska främmande språk hittills men det ska jag ändra på :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

302 varningen kommer när man använder ett FSR (register) som *inte*
ligger i bank0. Det är bara för att man ska vara säker på att man hanterar
bankerna korrekt. Med BANKSEL är det inga problem.

Och det är ju exakt vad den säger :
"Register in operand not in bank 0. Ensure that bank bits are correct." :-)

Se mot slutet av :
http://elektronikforumet.com/forum/view ... 1&start=15
hur du får bort varningen (om du vill).

Men, hur går det då ?????
Användarvisningsbild
slowfly
Inlägg: 829
Blev medlem: 16 maj 2005, 20:14:15
Ort: Solna

Inlägg av slowfly »

Nu går det såhär:

Kod: Markera allt

Executing: "D:\Program\Programmering\MPLAB\MPASM Suite\MPAsmWin.exe" /q /p16F628A "ledblink.asm" /l"ledblink.lst" /e"ledblink.err" /o"ledblink.o" /c-
Message[302] D:\PROGRAMMERING\LED\LEDBLINK.ASM 33 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] D:\PROGRAMMERING\LED\LEDBLINK.ASM 34 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] D:\PROGRAMMERING\LED\LEDBLINK.ASM 42 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Executing: "D:\Program\Programmering\MPLAB\MPASM Suite\MPLink.exe" "D:\Program\Programmering\MPLAB\MPASM Suite\LKR\16f628a.lkr" "D:\Programmering\Led\ledblink.o" /m"LEDBlink.map" /w /o"LEDBlink.cof"
MPLINK 4.14, Linker
Copyright (c) 2007 Microchip Technology Inc.
Errors    : 0

MP2HEX 4.14, COFF to HEX File Converter
Copyright (c) 2007 Microchip Technology Inc.
Errors    : 0

Loaded D:\Programmering\Led\LEDBlink.cof.
BUILD SUCCEEDED: Wed Jan 09 19:40:08 2008
och nu ligger det plötsligt en *.hex fil i mappen :D Så nu borde det funka som det ska! Testade skicka över den till picen och det funkade men nu vet jag inte vilken port jag ska använda till lysdioden...
Skriv svar