1-wire,ds1820 problem med att generera HEX fil.

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Nots
Inlägg: 10
Blev medlem: 19 september 2006, 15:32:05
Ort: Karlskrona

1-wire,ds1820 problem med att generera HEX fil.

Inlägg av Nots »

Hej,
Jag har hittat denna länk: http://quozl.us.netrek.org/ts/ . Problemet med detta är att man ska använda GPASM. Jag som är windows användare får lite problem med detta :wink: . Nästa grej är att jag skulle vilja använda Pic 16f84 som jag har ett antal liggandes hemma. Koden har skrivits för både 12c509 och 16f84 men när jag försöker att använda gpasm för dos
så får jag många "ERRORS".
Någon som är grym på GPASM som kan hjälpa mig?

Mvh Nots
Användarvisningsbild
Icecap
Inlägg: 26662
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

ASM-koden ser ut till att direkt kunna assembleras av MPLAB, vad är problemet? Är det att du inte ens har testat?
Nots
Inlägg: 10
Blev medlem: 19 september 2006, 15:32:05
Ort: Karlskrona

Inlägg av Nots »

Wow vilket snabbt svar.
Jo jag har provat med det men med samma resultat. Massor med errors.

skaparen skriver att han har använt gpasm 0.6.6 tror jag det var och jag antar att han har haft ett lyckat resultat.


/Nots
Användarvisningsbild
Icecap
Inlägg: 26662
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Slå bort "Case sensivity", sedan går det mycket bättre.

Project->Build options-> (filens.asm) -> "Disable case sensitivity" bockas i.

Edit: Då fick jag en nästa clean build förutom att den klagar över att idioten har använd en label som han kallar 'data'. Den ändrade jag till 'data_l' och sedan gick det bra.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Massor med errors.

Icecap har tydligen redan rett ut problemen, men "Massor med errors."
är bland det sämsta man kan skriva om man vill ha hjälp.

Tala för fanken om *vilka* errors du får !!
Nots
Inlägg: 10
Blev medlem: 19 september 2006, 15:32:05
Ort: Karlskrona

Inlägg av Nots »

Tack Icecap du är grym.
Ber om ursäkt att jag inte har skickat med alla "Errors" men det var grymt många. Jag har fortfarande lite problem. Jag har klickat i "disable case sensitivity" och ändrat labeln "data" till "data_I". Vilken fil använde du?
ds18b20.asm eller ds1820.asm? när jag kör med ds1820.asm får jag:
Error[129] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS1820.ASM 2 : Expected (END)

Den peckar på dom kommentarer som finns i början på ds1820.asm filen.

och om jag kör med ds18b20.asm filen får jag:

Executing: "C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F84 "ds18b20.asm" /l"ds18b20.lst" /e"ds18b20.err" /o"ds18b20.o" /c-
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 163 : Symbol not previously defined (BASE)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 191 : Found label after column 1. (BANK1)
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 267 : Symbol not previously defined (PORT)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 271 : Found label after column 1. (MOVWT)
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 282 : Symbol not previously defined (PORT)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 285 : Found label after column 1. (MOVWT)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 285 : Address label duplicated or different in second pass (MOVWT)
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 301 : Symbol not previously defined (PORT)
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 312 : Symbol not previously defined (PORT)
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 348 : Symbol not previously defined (PORT)
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 444 : Symbol not previously defined (PORT)
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 446 : Symbol not previously defined (PORT)
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 464 : Symbol not previously defined (PORT)
Error[151] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 542 : Operand contains unresolvable labels or is too complex
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1000 : Symbol not previously defined (STACK)
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1004 : Symbol not previously defined (PORT)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1014 : Found label after column 1. (MOVWT)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1014 : Address label duplicated or different in second pass (MOVWT)
Message[302] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1029 : Register in operand not in bank 0. Ensure that bank bits are correct.
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1036 : Found label after column 1. (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1038 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1038 : Address label duplicated or different in second pass (BANK1)
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1045 : Symbol not previously defined (PORT)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1070 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1070 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1076 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1076 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1079 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1079 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1082 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1082 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1085 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1085 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1095 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1095 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1112 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1112 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1123 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1123 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1132 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1132 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1141 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1141 : Address label duplicated or different in second pass (BANK0)
Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1145 : Symbol not previously defined (PORT)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1154 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1154 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1162 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1162 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1167 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1167 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1181 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1181 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1185 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1185 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1191 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1191 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1195 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1195 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1200 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1200 : Address label duplicated or different in second pass (BANK0)
Warning[219] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 120 : Invalid RAM location specified.
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1228 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1228 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 523 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 523 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 523 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 523 : Address label duplicated or different in second pass (BANK0)
Warning[219] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 124 : Invalid RAM location specified.
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 523 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 523 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1242 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1242 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1247 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1247 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1265 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1265 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1276 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1276 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1281 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1281 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1289 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1289 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1295 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1295 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1304 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1304 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1319 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1319 : Address label duplicated or different in second pass (BANK1)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1327 : Found label after column 1. (BANK0)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1327 : Address label duplicated or different in second pass (BANK0)
Warning[207] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1329 : Found label after column 1. (BANK1)
Error[116] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 1329 : Address label duplicated or different in second pass (BANK1)
BUILD FAILED: Mon Nov 27 13:12:01 2006
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Tack Icecap du är grym.

Nej, det är två olika killar....

Först, det räcker oftast med *ETT* felmeddlande av varje typ.

> Error[113] C:\PIC\TEMP_LOG_ONGOING\MPLAB\DS18B20\DS18B20.ASM 163 : Symbol not previously defined (BASE)

BASE definieras inom ett ifdef-block i början *OM* processorn är en 509'a.
Annars definieras den inte alls.
Buggig kod, men inget som du inte ganska lätt kan fixa till...

Resten är bara följdfel...

> men det var grymt många.

Dete var det inte alls !
Det är bara 4-5 st *olika* fel... :-)
Användarvisningsbild
Icecap
Inlägg: 26662
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Ja just fan: du måste skriva
#define __12c509
i början av filen, beroende på vilken pic då väljer såklart.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Problemet är att det inte finns något "ifdef __16f84" block för att
definiera t.ex BASE. Man skulle kunna fejka att det är en 509'a
man använder, men jag har inte kollat om adresserna fungerar...

Sen är jag lite osäker, men kommer inte __16F84 symbolen från
en parameter på kommandoraden till MPASM ? D.v.s från "device"
konfigureringen man hjar gjort i MPLAB ?

Jag ser inte att det förväntas att man själv gör en #define av
dessa symboler. Det förtar ju lite iden med kod som kan byggas
för olika procesorer.

I just detta fall verkar det inte riktigt testat för 16F84.
Antagligen räcker det med att duplikera ifdef-blocket och
justera symboerna så att det passar 16F84...
Nots
Inlägg: 10
Blev medlem: 19 september 2006, 15:32:05
Ort: Karlskrona

Inlägg av Nots »

Tack Sodjan!

Känns som att det kanske hade varit enklare att göra något eget från grunden. Jag såg den enkla vägen och tänkte att det kan vara ett roligt
projekt att börja med. Få något snabbt att fungera , men icke.

Jag får se hur jag gör med detta. Tack för all hjälp ni har givit mig.

Mvh Nots
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Den "enkla vägen" är att fixa koden du har. Det är inga stora justeringar som behöver göras.
Att göra om samma sak från grunden hade (speciellt om man envisas med att kämpa med den gamla 16F84 !)
tagit 10-100 gånger långre tid... :-)
Skriv svar