PIC: Felmeddelande vid bränning
PIC: Felmeddelande vid bränning
Säkert en enkel sak för den som kan...
Jag får följande fel när jag försöker ladda ner min egenhändigt kompilerade hex-fil till min PIC16F877A:
c:\Program\Release>xwisp2w Test1.hex
XWisp2 version 1.6.01 (Aug 14 2005, Open Watcom C 1.30)
Required argument for command TEST1.HEX missing
XWisp2 failed after 0.28 seconds, rc 36!
Jag använder mig förnärvarande av PICC-lite och har väl säkert missat någon smart inställning där.
Någon som har något bra tips?
Jag får följande fel när jag försöker ladda ner min egenhändigt kompilerade hex-fil till min PIC16F877A:
c:\Program\Release>xwisp2w Test1.hex
XWisp2 version 1.6.01 (Aug 14 2005, Open Watcom C 1.30)
Required argument for command TEST1.HEX missing
XWisp2 failed after 0.28 seconds, rc 36!
Jag använder mig förnärvarande av PICC-lite och har väl säkert missat någon smart inställning där.
Någon som har något bra tips?
En typ av lösning
Testa http://home.hccnet.nl/d.a.kuipers/pic/bumblebee/ tycker det är mycket enklare än xwisp och funkar bra.
- JimmyAndersson
- Inlägg: 26579
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
BultaIBo:
Det fattas en liten grejj i din rad. Så här ska det vara:
xwisp2w go test.hex
Du har alltså glömt go
edit: Det kan hända att 'go' ska vara efter filnamnet. När jag skriver det så blir det utan att tänka, så då blir det rätt. Nu när man måste tänka efter så blir man inte lika säker..
Testa, så ser du vilket som är rätt.
om du bara skriver xwisp2w så ser du alla kommandon (och kretsarna den stödjer).
Det fattas en liten grejj i din rad. Så här ska det vara:
xwisp2w go test.hex
Du har alltså glömt go
edit: Det kan hända att 'go' ska vara efter filnamnet. När jag skriver det så blir det utan att tänka, så då blir det rätt. Nu när man måste tänka efter så blir man inte lika säker..

om du bara skriver xwisp2w så ser du alla kommandon (och kretsarna den stödjer).
En annan sak...
> XWisp2 version 1.6.01...
Aktuell version är 1.8.2 : http://www.robh.nl/
Jag säger inte att det har med felmeddelandet att göra, men ändå...
> XWisp2 version 1.6.01...
Aktuell version är 1.8.2 : http://www.robh.nl/
Jag säger inte att det har med felmeddelandet att göra, men ändå...

Jag har testat att ladda ner en "färdig" hex-fil (b877-1.hex från http://www.voti.nl/blink/index.html) och det fungerar utmärkt!
Jag skrev då:
>xwisp2w b877-1.hex
eftersom jag har wisp:en på COM1 så kunde jag utelämna "go", eller?
Jag tror därför att mitt problem ligger i hur jag genererar hex-filen!
Några smarta tips och tricks vad jag bör tänka på där?
Nu använder jag PICC-lite, är MicroC bättre?
Jag skrev då:
>xwisp2w b877-1.hex
eftersom jag har wisp:en på COM1 så kunde jag utelämna "go", eller?
Jag tror därför att mitt problem ligger i hur jag genererar hex-filen!
Några smarta tips och tricks vad jag bör tänka på där?
Nu använder jag PICC-lite, är MicroC bättre?
Här är C-koden:
Från main.c
Från init.c
Och här är hex-filen
I HI-TECH IDE:n står det så här i den genererade binaries-strukturen
-Binaries
+Test1.hex [PIC14le]
Varför står det PIC14le efter? Är säker på att jag ställt in att jag skall använda PIC16F877A...!
Jag kör med en extern kristall på 20 MHz och två kondingar...vad skall Oscillator vara satt till? Nuvarande inställning är RC
Från main.c
Kod: Markera allt
#include <pic.h>
#include "init.h"
void
main(void)
{
int i = 0;
init(); // Set TRISA among other things...
RA0=1;
for(i=0;i<1000000;i++)
{
i++;
i--;
}
RA0=0;
}
Från init.c
Kod: Markera allt
#include <htc.h>
/* Program device configuration word
* Oscillator = RC
* Watchdog Timer = On
* Power Up Timer = Off
* Brown Out Detect = On
* Low Voltage Program = Enabled
* Flash Program Write = Write Protection Off
* Background Debug = Disabled
* Data EE Read Protect = Off
* Code Protect = Off
*/
__CONFIG(RC & WDTEN & PWRTDIS & BOREN & LVPEN & WRTEN & DEBUGDIS & DUNPROT & UNPROTECT);
// Peripheral initialization function
void init(void){
/***** Common Code ****
* Peripheral interrupts not enabled
* Global interrupt disabled during initialization
*/
INTCON = 0b00000000;
/*
* Port directions: 1=input, 0=output
*/
TRISA = 0b00000000;
ei(); // Global interrupts enabled
}
Kod: Markera allt
:0600000000308A00052813
:100008000900A001A101082883120313A001A1017E
:1000180041200514A001A101112883120313A00A8D
:100028000319A10AA0080319A103A003A00A031930
:08003800A10A2008F0002108D4
:10004000F1000030F11BFF30F200F3007308803A3A
:10005000F4000030803A7402031D38280F30720219
:10006000031D382842307102031D382840307002C9
:10007000031C3B283C28112883120313051083011D
:1000800005288B018316031385018B178312080043
:02400E00FF3F72
:00000001FF
I HI-TECH IDE:n står det så här i den genererade binaries-strukturen
-Binaries
+Test1.hex [PIC14le]
Varför står det PIC14le efter? Är säker på att jag ställt in att jag skall använda PIC16F877A...!
Jag kör med en extern kristall på 20 MHz och två kondingar...vad skall Oscillator vara satt till? Nuvarande inställning är RC
PIC14IE är sannolikt för PIC'ar med 14 bit struktur så det är OK.
20MHz kristall ska vara HS i oscillatorconfiguration.
Felmeddelandet tror jag är för att din hex-fil kanske saknar information om vilke processor fast de gånger jag har fått den samma är det för att WISP'en inte har "tag" i PIC'en ordentligt. Det har oftast varit glapp.
20MHz kristall ska vara HS i oscillatorconfiguration.
Felmeddelandet tror jag är för att din hex-fil kanske saknar information om vilke processor fast de gånger jag har fått den samma är det för att WISP'en inte har "tag" i PIC'en ordentligt. Det har oftast varit glapp.
Först och främst vill jag tacka för all suverän hjälp och tid som folk lägger ner. Helt otroligt!
Felet löste sig så här, jag provade helt enkelt med att läggat till "go" i kommandot...allt enligt JimmyAndersson i andra inlägget!
Alltså:
xwisp2w Test1.hex ---> Fungerar inte
xwisp2w b877-1.hex---> Fungerar
xwisp2w go Test1.hex---> Fungerar!!!
Konstigt eller?!
Tycker mig minnas att jag läst att man inte behöver ha med "go" om man kör på COM1...men det kanske jag bara drömt...hur som helst så funkar det nu och det är jag glad för!
Felet löste sig så här, jag provade helt enkelt med att läggat till "go" i kommandot...allt enligt JimmyAndersson i andra inlägget!
Alltså:
xwisp2w Test1.hex ---> Fungerar inte
xwisp2w b877-1.hex---> Fungerar
xwisp2w go Test1.hex---> Fungerar!!!
Konstigt eller?!
Tycker mig minnas att jag läst att man inte behöver ha med "go" om man kör på COM1...men det kanske jag bara drömt...hur som helst så funkar det nu och det är jag glad för!
> Helt otroligt!
Håller med, borde sitta i bastun nu som har stått varm ett tag...
Eftersom du är på så gott humör, kanske du kan ta dig tid att
kommentera min fråga om din version på XWisp2 ?
Någon speciell anledning att du kör en äldre version ?
> jag provade helt enkelt med att läggat till " go " i kommandot...
Det *jag* tycker är "helt otroligt" är att du inte provade det *innan* du
postade här alls...
Hur som helst, trevligt att det fungerar !!
Håller med, borde sitta i bastun nu som har stått varm ett tag...
Eftersom du är på så gott humör, kanske du kan ta dig tid att
kommentera min fråga om din version på XWisp2 ?
Någon speciell anledning att du kör en äldre version ?
> jag provade helt enkelt med att läggat till " go " i kommandot...
Det *jag* tycker är "helt otroligt" är att du inte provade det *innan* du
postade här alls...

Hur som helst, trevligt att det fungerar !!

Japp...det var ju inget bra exempel på C-kod. Dock så använder jag HI-TECH PICC V9.50 och där är en int minst 16-bitar... i mitt dåliga exempel så innebär det väl att i kan få värden mellan -32,768 till +32,767. Men det var knappast det misstaget i C som gjorde att jag fick fel vid bränning.
Eftersom jag är ny på PICC så gjorde jag så att jag började med att läsa på följande sida:
http://www.jescab.se/Programvara.html och under rubriken "Programvara för PC:n." hittade jag en länk till xwisp2_161. Det är antagligen anledningen till att jag har en gammal programvara...
Eftersom jag är ny på PICC så gjorde jag så att jag började med att läsa på följande sida:
http://www.jescab.se/Programvara.html och under rubriken "Programvara för PC:n." hittade jag en länk till xwisp2_161. Det är antagligen anledningen till att jag har en gammal programvara...