rs232 mottagare?
Hej på er, jag har nu fått lite grejer av sodjan som jag tänkt labba med ikväll, jag har lödit samman allt, hoppas det blev rätt.
EDIT: Liten resume: Jag ska bygga en termometer av en DS18s20-krets.
Jag fick ett interface av sodjan: http://www.jescab.se/RSlink.htm
Och en maximkrets: http://pdfserv.maxim-ic.com/en/ds/DS2480B.pdf
Jag har testat interfacet med en LED och data passerar då LED:en flimrar så det funkar från comport.
Jag har sedan hakat på en sån här : http://pdfserv.maxim-ic.com/en/ds/DS2480B.pdf
Problemet jag har är att jag inte hajjar vilka kommandon jag verkligen ska sända till DS2480B-kretsen innan jag kan skicka kommandon för DS18s20-kretsen.
Det va inte LITE att läsa om denna krets och jag förstår inte denna engelska så bra...
Kan nån sammanfatta lite grovt hur jag ska göra? Sodjan själv verkar ha rymt från datorn nämligen så där får jag ingen hjälp nu;)
(Jag vore tacksam om jag fick hjälp idag då sambon jobbar natt och jag får sitta ifred
)
EDIT: Liten resume: Jag ska bygga en termometer av en DS18s20-krets.
Jag fick ett interface av sodjan: http://www.jescab.se/RSlink.htm
Och en maximkrets: http://pdfserv.maxim-ic.com/en/ds/DS2480B.pdf
Jag har testat interfacet med en LED och data passerar då LED:en flimrar så det funkar från comport.
Jag har sedan hakat på en sån här : http://pdfserv.maxim-ic.com/en/ds/DS2480B.pdf
Problemet jag har är att jag inte hajjar vilka kommandon jag verkligen ska sända till DS2480B-kretsen innan jag kan skicka kommandon för DS18s20-kretsen.
Det va inte LITE att läsa om denna krets och jag förstår inte denna engelska så bra...
Kan nån sammanfatta lite grovt hur jag ska göra? Sodjan själv verkar ha rymt från datorn nämligen så där får jag ingen hjälp nu;)
(Jag vore tacksam om jag fick hjälp idag då sambon jobbar natt och jag får sitta ifred

Å NU PAJADE INTERFACET OXÅ, fan va less ja bli, dålig lödning, kretsen bara ramla av...( jag har inte lödit detta)
EDIT: Ursäkta, detta tar på nerverna, jag lödde på kabel på den ytmonterade kretsen, det e fixat nu.
EDIT 2: lödde bort DS18s20´n och får samma svar då, så det är nått vingel me hur jag pratar med D2480´n.
/B
EDIT: Ursäkta, detta tar på nerverna, jag lödde på kabel på den ytmonterade kretsen, det e fixat nu.
EDIT 2: lödde bort DS18s20´n och får samma svar då, så det är nått vingel me hur jag pratar med D2480´n.
/B
> "Problemet jag har är att jag inte hajjar vilka kommandon jag verkligen ska sända till DS2480B-kretsen innan jag kan skicka kommandon för DS18s20-kretsen."
Du har kollat exemplen på sidn 22 och 23 ?
I princip behöver du bara göra en "Generate Reset Pulse" och sen switcha över till "Data Mode". Vad man skall göra därefter beror på vad DS18S20'n vill ha.
> "dvs skickar jag 11001100 så svarar nått med 00110011, detta börjar bli jobbigt."
Är det *allt* du skickar ?
Vad är "CC" ? Är det "Skip ROM Command" ?
Du har kollat exemplen på sidn 22 och 23 ?
I princip behöver du bara göra en "Generate Reset Pulse" och sen switcha över till "Data Mode". Vad man skall göra därefter beror på vad DS18S20'n vill ha.
> "dvs skickar jag 11001100 så svarar nått med 00110011, detta börjar bli jobbigt."
Är det *allt* du skickar ?
Vad är "CC" ? Är det "Skip ROM Command" ?
Jag har testat och följa exemplen och förväntade mig en respons enligt det som står i "response command" men så blir det inte, det blir HELT andra värden.
CC e skip rom
EDIT: Då ska jag skicka en "C1" följt av en "E1" för att åstakomma det du skrev ovan
EDIT2: Nu har jag testat på ett vis o skickat den datan JAG tror att det ska vara och svaret efter en templäsning bli "B0D028B0D0BBD2DGG0D055"
Nollar jag DS2480´n så får jag "M0BBD2DGG0D055" vid samma läsning första gången, andra får jag det ovan...
Kul va?
/B
CC e skip rom
EDIT: Då ska jag skicka en "C1" följt av en "E1" för att åstakomma det du skrev ovan
EDIT2: Nu har jag testat på ett vis o skickat den datan JAG tror att det ska vara och svaret efter en templäsning bli "B0D028B0D0BBD2DGG0D055"
Nollar jag DS2480´n så får jag "M0BBD2DGG0D055" vid samma läsning första gången, andra får jag det ovan...
Kul va?
/B
Att det skall vara så [borttaget kraftuttryck...] svårt att tala om vad du faktiskt skickar och vad du får tillbaka !!
Du skriver snabbt med dina prylar framför sig, ungefär som vi på något magiskt sätt samtidigt kan se både din koppling och din programkod (och gissa dina tankar). Det fungerar aldrig...
> "Jag har testat och följa exemplen"
VILKA [ett till borttaget kraftuttryck...] EXEMPEL ????
SIDNUMMER, FIGURNUMMER, TABELLNUMMER O.S.V O.S.V. O.S.V.!!!
> "Då ska jag skicka en "C1" följt av en "E1" för att åstakomma det du skrev ovan"
Men då undrar jag igen, vilka exempel har du följt ???
C1 och E1 finns ju med i *ALLA* exempel som jag har hittat i DS2480B databladet.
> "Nu har jag testat på ett vis o skickat den datan JAG tror att det ska vara"
Jaha, och vad är det DU tror då ???? Suck...
Svaret du får är HELT ointressant om vi inte vet vad du har skickat...
Du skriver snabbt med dina prylar framför sig, ungefär som vi på något magiskt sätt samtidigt kan se både din koppling och din programkod (och gissa dina tankar). Det fungerar aldrig...
> "Jag har testat och följa exemplen"
VILKA [ett till borttaget kraftuttryck...] EXEMPEL ????
SIDNUMMER, FIGURNUMMER, TABELLNUMMER O.S.V O.S.V. O.S.V.!!!
> "Då ska jag skicka en "C1" följt av en "E1" för att åstakomma det du skrev ovan"
Men då undrar jag igen, vilka exempel har du följt ???
C1 och E1 finns ju med i *ALLA* exempel som jag har hittat i DS2480B databladet.
> "Nu har jag testat på ett vis o skickat den datan JAG tror att det ska vara"
Jaha, och vad är det DU tror då ???? Suck...
Svaret du får är HELT ointressant om vi inte vet vad du har skickat...
Med exemplen menade jag dom du frågade om jag följt, på sid 23.
(Tabell: "TEMPERATURE CONVERSION SEQUENCE") i databladet
Men detta skickade jag: (skrivet i VB6)
Följande två skall va me för att ds2480 ska starta upp rätt?!
MSComm1.Output = "C1"
MSComm1.Output = "E1"
**************************
Sensorns rader:
MSComm1.Output = "39"
MSComm1.Output = "C1"
MSComm1.Output = "E1"
MSComm1.Output = "CC"
MSComm1.Output = "E3"
MSComm1.Output = "EF"
MSComm1.Output = "F1"
MSComm1.Output = "E1"
MSComm1.Output = "44"
' Vänta på att data skickas tillbaka genom COM-porten
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Debug.Print buffer$
Loop Until buffer$ = "B0D028B0D0BBD2DGG0D055" (OBS:endast för att den ska stoppa loopen nångång)
MSComm1.Output = "E3"
MSComm1.Output = "ED"
MSComm1.Output = "F1"
MSComm1.Output = "C1"
******************************************
Sen trodde jag inte att ni kunde magi men jag trodde att vi förstod varann, reset är en reset, data mode är data mode, sen ska sensorn ha sitt...
Jag har suttit ett tag me detta nu och är ganska seg.
Ber om ursäkt, jag ska bättra mig.
/B
(Tabell: "TEMPERATURE CONVERSION SEQUENCE") i databladet
Men detta skickade jag: (skrivet i VB6)
Följande två skall va me för att ds2480 ska starta upp rätt?!
MSComm1.Output = "C1"
MSComm1.Output = "E1"
**************************
Sensorns rader:
MSComm1.Output = "39"
MSComm1.Output = "C1"
MSComm1.Output = "E1"
MSComm1.Output = "CC"
MSComm1.Output = "E3"
MSComm1.Output = "EF"
MSComm1.Output = "F1"
MSComm1.Output = "E1"
MSComm1.Output = "44"
' Vänta på att data skickas tillbaka genom COM-porten
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Debug.Print buffer$
Loop Until buffer$ = "B0D028B0D0BBD2DGG0D055" (OBS:endast för att den ska stoppa loopen nångång)
MSComm1.Output = "E3"
MSComm1.Output = "ED"
MSComm1.Output = "F1"
MSComm1.Output = "C1"
******************************************
Sen trodde jag inte att ni kunde magi men jag trodde att vi förstod varann, reset är en reset, data mode är data mode, sen ska sensorn ha sitt...
Jag har suttit ett tag me detta nu och är ganska seg.
Ber om ursäkt, jag ska bättra mig.
/B
Se där ! Nu ser det i alla fall lite bättre ut... 
Först, kommenterar, kommentarer, kommentarer. Och glöm inte kommentarer...
> MSComm1.Output = "C1"
Detta är alltså det första DS2480B vill ha efter en "Master reset" (t.ex power on). Du ska få svar CD eller ED. Får du det ?
> MSComm1.Output = "E1"
OK, Skiftar till "Data Mode"
> **************************
> Sensorns rader:
> MSComm1.Output = "39"
Så vitt jag kan se är det ett "Set pullup dur. = 524ms" kommando till DS2480B. Är det så du har tänkt ? (En kommentar på raden hade gjort frågan onödig). I så fall är det lite konstigt att det ligger efter "Set Data Mode", då ju all data går direkt till 1-Wire bussen.
> MSComm1.Output = "C1"
> MSComm1.Output = "E1"
> MSComm1.Output = "CC"
> MSComm1.Output = "E3"
> MSComm1.Output = "EF"
> MSComm1.Output = "F1"
> MSComm1.Output = "E1"
> MSComm1.Output = "44"
Jag vet inte om jag har nämnt det, men var är alla kommenterer ????
Skriv på *varje* rad vad respektive kod är tänkt att göra, samt från vilket datablad det kommer.
Nu får man hoppa mellan DS18S20 och DS2480 databladen för att försöka *gissa* vad du har tänkt...
> ' Vänta på att data skickas tillbaka genom COM-porten
Notera att flera av komandona ovan ger ett svar direkt. Är det inte bättre att läsa dom direkt efter respektive kommando så att du vet vilket kommando som gar vilket svar ?

Först, kommenterar, kommentarer, kommentarer. Och glöm inte kommentarer...
> MSComm1.Output = "C1"
Detta är alltså det första DS2480B vill ha efter en "Master reset" (t.ex power on). Du ska få svar CD eller ED. Får du det ?
> MSComm1.Output = "E1"
OK, Skiftar till "Data Mode"
> **************************
> Sensorns rader:
> MSComm1.Output = "39"
Så vitt jag kan se är det ett "Set pullup dur. = 524ms" kommando till DS2480B. Är det så du har tänkt ? (En kommentar på raden hade gjort frågan onödig). I så fall är det lite konstigt att det ligger efter "Set Data Mode", då ju all data går direkt till 1-Wire bussen.
> MSComm1.Output = "C1"
> MSComm1.Output = "E1"
> MSComm1.Output = "CC"
> MSComm1.Output = "E3"
> MSComm1.Output = "EF"
> MSComm1.Output = "F1"
> MSComm1.Output = "E1"
> MSComm1.Output = "44"
Jag vet inte om jag har nämnt det, men var är alla kommenterer ????
Skriv på *varje* rad vad respektive kod är tänkt att göra, samt från vilket datablad det kommer.
Nu får man hoppa mellan DS18S20 och DS2480 databladen för att försöka *gissa* vad du har tänkt...
> ' Vänta på att data skickas tillbaka genom COM-porten
Notera att flera av komandona ovan ger ett svar direkt. Är det inte bättre att läsa dom direkt efter respektive kommando så att du vet vilket kommando som gar vilket svar ?
Hej, vi gör så här:
Jag lägger ner energin på att få svaret CD eller ED från DS2480´n först, när det funkar går vi vidare.
MSComm1.Output = "C1"
Detta ska jag skicka till DS2480´n efter en master reset.
Svaret ska bli CD eller ED, varför funkar inte det?
EDIT: Om man tittar i databladet för 2480´n så ser det ut som jag ska skicka "C1" (tex) i HEX medans det ibland ser ut som ja ska sicka binärt.
EDIT: Kommentarer kommer bli bättre
/B
Jag lägger ner energin på att få svaret CD eller ED från DS2480´n först, när det funkar går vi vidare.
MSComm1.Output = "C1"
Detta ska jag skicka till DS2480´n efter en master reset.
Svaret ska bli CD eller ED, varför funkar inte det?
EDIT: Om man tittar i databladet för 2480´n så ser det ut som jag ska skicka "C1" (tex) i HEX medans det ibland ser ut som ja ska sicka binärt.
EDIT: Kommentarer kommer bli bättre
/B
Vad du gör är att skicka "C" och "1" ascii värden till DS2480, det är inte alls samma sak som att skicka HEX värdet till den.. (dessutom skickar du 16 bitar, den vill ha 8)
Nu mins jag inte på rak arm hur man skriver hex i VB, men en gissning är att
MSComm1.Output = &hC1
eller liknande är i rätt härad.
Du skulle också kunna lista ut vilket tecken som har asciikod 0xC1 och skicka detta.
Svårt att tro att den någonsin vill ha ASCII värdena, utan alltid binära värden, oftast är det mer överskådligt att använda hex för att representera binära värden. 0x81 är ju samma som 0b1000 0001 vilket ju det första är lättare att läsa...
Nu mins jag inte på rak arm hur man skriver hex i VB, men en gissning är att
MSComm1.Output = &hC1
eller liknande är i rätt härad.
Du skulle också kunna lista ut vilket tecken som har asciikod 0xC1 och skicka detta.
Svårt att tro att den någonsin vill ha ASCII värdena, utan alltid binära värden, oftast är det mer överskådligt att använda hex för att representera binära värden. 0x81 är ju samma som 0b1000 0001 vilket ju det första är lättare att läsa...
Asså nu har jag testat lite men får ingen klarhet i det.
Jag skrev C1 på miniräknaren o får binära talet "11000001"
Om jag skickar DET till ds2480´n så får jag svaret "00111110"
Dvs omvänt bara.
Jag tror jag missar nått i vad jag ska skicka här...känner mig hur korkad som helst.
Om jag skriver "&HC1" i VB så får jag fram siffran 193, på miniräknaren e det de decimal-tal jag får av C1
Jag skrev C1 på miniräknaren o får binära talet "11000001"
Om jag skickar DET till ds2480´n så får jag svaret "00111110"
Dvs omvänt bara.
Jag tror jag missar nått i vad jag ska skicka här...känner mig hur korkad som helst.
Om jag skriver "&HC1" i VB så får jag fram siffran 193, på miniräknaren e det de decimal-tal jag får av C1