Generera HEX-fil från BASCOM AVR BAS-fil

mueller
Inlägg: 110
Blev medlem: 22 februari 2009, 12:53:55

Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av mueller »

Jag har ändrat lite i ett program till flödesmätare från ELEKTOR juli/aug 2008 med Atmega8.
Tankvolym och antal pulser/liter från givaren,och den grafiska volymvisaren.
När jag försöker generera en HEX-fil från BASCOM AVR demo,blir det bara en error-fil.
Jag hoppas det beror på den 8Kb-begränsningen som demon är behäftad med.
Jag behöver hjälp med att få denna HEX-fil på 8Kb genererad från ett program
utan begränsningar.Jag kan ju sända denna bas.fil med mail.
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av sodjan »

> blir det bara en error-fil.

Och vad står det i den ?
Har du ens tittat i den ?
mueller
Inlägg: 110
Blev medlem: 22 februari 2009, 12:53:55

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av mueller »

Det står "Error:51 Line:56 value doesn´t fit into WORD".
Jag kan ingenting om programmering,men meddelandet betyder väl att jag inte
kan gå in och ändra enbart siffrorna för då stämmer det inte.
Så ämnesfrågan är felställd.
Det behövs någon med programmeringskunskap i BASCOM BASIC för att ändra värdena.
Som är följande:
Flödesgivaren i programmet ger 1800 pulser/liter.Ska ändras till 10000 pulser/liter för att passa givaren som finns att köpa.
Tankvolymen i programmet är 26 liter.Ska ändras till 56 liter i mitt fall.
Den grafiska visningen har 15 (16)x 5=80 streck.48000(full tank):80=600 pulser/streck i programmet.
Ska ändras till 560000(full tank):80=7000 pulser/streck.
Men jag har även provat att bara ändra antalet pulser/liter till 10000.Men det blir samma felkod ändå.
Chaos
Inlägg: 66
Blev medlem: 6 januari 2009, 13:08:19
Ort: Mölndal

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av Chaos »

Om du inte ändrar nånting, får du samma felkod ändå?
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av sodjan »

> Det står "Error:51 Line:56 value doesn´t fit into WORD".

OK. Och har du alls kollat på "line 56" ? Vad står det där ??

"WORD" borde vara dubbel-byte (16-bitars) variabel. Tar alltså värden
0 -> 65535 (eller ca -32767 -> 32767 om det variablen är "signed").

Exakt vad har du ändrat i koden ? (Original kod + din ändring).
Har du ändrat något så att det inte längre får plats i en 16-bitars variabel ?

> ... 48000(full tank)... ...560000(full tank)...

Ser ju lite misstänkt ut. Om det nu är så att 48000 resp 560000
är värden som används i koden på något sätt...
mueller
Inlägg: 110
Blev medlem: 22 februari 2009, 12:53:55

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av mueller »

Nu har jag ändrat från 1800 pulser/liter till 10000 pulser/liter och ändrat grafiska visningen
från 600 pulser till 7000 pulser.Då går det att generera en hex-fil.
Så det bör då vara ändringen av tankvolymen från 48000 till 560000 pulser som är felande länken.
Men var "line 56" i programmet finns kan jag inte avgöra.
Användarvisningsbild
Icecap
Inlägg: 26610
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av Icecap »

Räkna då...

Det är rad 56 uppifrån...
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av sodjan »

> Men var "line 56" i programmet finns kan jag inte avgöra.

Skapas det inte någon list fil ?
mueller
Inlägg: 110
Blev medlem: 22 februari 2009, 12:53:55

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av mueller »

http://www.elektor.com/magazines/2008/j ... 1796.lynkx

Artikeln med programvara finns på denna länk.
Jag hamnar ungefär på rad "Volume" där jag ändrat tankvolym från 48000 pulser till 560000 pulser(låter logiskt).
Min gissning som amatör att man inte kan lägga in ett sexsiffrigt tal.
Kan man åtgärda det i programmet?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46794
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av TomasL »

tja, 48000 får plats i ett WORD (16 bitar), 560000 gör det inte.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46794
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av TomasL »

Du får nog läsa på lite om din BASIC interpreter, men i början av koden har du en bunt rader som startar med DIM

Kod: Markera allt

Dim J As Byte , K As Byte , Flag As Bit
Dim Volume As Word , Volumerestant As Word , Volumeavant As Word
Dim Barre As Word , Nombrebarre As Byte
Dim Reservoir As String * 8
Dim Volumeprecedent As Word
Dim Moyenne As Byte , Sommemoyenne As Byte
Dim Seconde As Byte
Dim Ci As Long
Gissar att du får byta ut en del av "Word" mot "long" eller nått sånt, sen får du se upp så att de andra variablerna är tillräckligt stora, för att hålla dina tal, kan ju vara så att "long" får bytas ut mot "long Long" eller nått.
Norpan
Inlägg: 2229
Blev medlem: 12 april 2008, 18:20:27
Ort: Småland

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av Norpan »

Borde väl gå att ändra platsen där talet ifråga ska hamna från word till int24 eller dword.
mueller
Inlägg: 110
Blev medlem: 22 februari 2009, 12:53:55

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av mueller »

Dim Volumeprecedent As Word

Är det ovanstående Dim-rad som ska ändras?
Vad ska det stå istället?
Har en fråga om visningen av förbrukningen liter/timme.Det är nu en dryg minut mellan
uppdateringen av visningen.Skulle önska att den uppdateras ca. var tjugonde sekund.
Var hittar jag detta kommando i programmet.
Jag har själv bara en manual över BASCOM,det finns inte någon info om ovanstående frågor.
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av sodjan »

> Jag har själv bara en manual över BASCOM...

Länk till den ?

> ...det finns inte någon info om ovanstående frågor.

Nja, jo, det gör det nog... :-)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46794
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Generera HEX-fil från BASCOM AVR BAS-fil

Inlägg av TomasL »

Tror knappast att nån här har tid att skriva om ditt program åt dig.
Vi är säkert några som kan göra det på betald arbetstid (600:-/h + moms och uppåt), men jag tror inte du är intresserad av den varianten.

Så, kvarstår för dig att göra det själv.
Vad du då måste göra är att lära dig den BASIC-dialekten som din interpreter använder, och sedan lära dig hur programmet är konstruerat/skrivet.
Därefter kan du "problemfritt" ändra koden.

Beträffande dina frågor kan ingen besvara dem utan att göra föregående.
Naturligtvis står inte dina svar i interpreterns handbok, då den bara talar om hur interpretern fungerar samt ev beskriver syntaxen i den använda dialekten.

Vad du däremot bör får svar på är storlekarna på de olika datatyperna, där ett WORD brukar motsvara 16 bitar, dvs 2 byte.
Den datatypen du skall använda måste naturligtvis vara minst lika stor som det största tal du skall behandla.
16 bitar motsvarar ett största tal om 65 535, 32 bitar (4 byte) ger 4 294 967 295. (under förutsättning att man pratar om positiva heltal).
Skriv svar