rs232 mottagare?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Är du säker på att du skall ha "ARM_STRONG_PULLUP" även vid "READ_SCRATCHPAD" ?

Så vitt jag förstår skall Strong Pullup bara vara på under "Convert" fasen.

> "Tycker det är förbaskat jobbigt att det bara står response i D-B å inte nån hexkod..."

Hexkoden kanske "beror på"...
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

jag har nu testat att ta bort pullup:en efter convert_t, håller me om att den inte bör va där.

Jag får dock HELT fel svar då.... enda gången jag får korrekta svar är när jag skickar som jag skrev...

Detta verkar funka och det är under convert_t -fasen:

PULLUP_524
RESET_C1
DATAMODE_E1
SKIPROM


COMMANDMODE_E3
ARM_STRONG_PULLUP
TERMINATE_PULSE_EF
DATAMODE_E1
CONVERT_T

WAIT_76

COMMANDMODE_E3
DISARM_STRONG_PULLUP
TERMINATE_PULSE_EC
RESET_C1
'*******************************

Sen kommer läsningen som ska va i denna ordning:
Men detta funkar inte.

SKIPROM
READ_SCRATCHPAD
RESET_C1

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

Inlägg av sodjan »

Ger du allting tillräckligt med tid efter "READ_SCRATCHPAD", så att du inte avbryter med RESET innan allt har lästs in ?
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

Grejen e att jag ska läsa in det som hamnar på porten direkt, och jag ska läsa 8 ggr, men det enda jag får från porten är:

¾
vilket blir 190 i ascii och BE i HEX

jag fattar inte, ska man inte få in bitarna en o en?


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

Inlägg av sodjan »

Jag har stängt databladet, men är inte scratchpaden 8 eller 9 bytes ?
I dessa bytes finns dina bitar. Jag är lite osäker på vad du igentligen
menar med att "få in bitarna en o en" !?

Tja, det är väll bara att fortsätta testa, läsa, testa, läsa, testa tills det funkar... :-)
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

Jag kom på att BE kanske var första byte:en (eller sista) så jag ska läsa in fler ggr.

kör jag read scratchpad en gång så får ja BE, kör jag igen rakt på får jag AA, nästa gång blir det ett fel.

som sagt, testa o testa!

:)

/B
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Inlägg av Kaggen »

benring skrev:Grejen e att jag ska läsa in det som hamnar på porten direkt, och jag ska läsa 8 ggr, men det enda jag får från porten är:

¾
vilket blir 190 i ascii och BE i HEX

jag fattar inte, ska man inte få in bitarna en o en?


/B
Normalt får du hårdvarumässigt sett in bitar en och en genom serieporten, men dessa samlas ihop till en byte innan de levereras till ditt VB program. När du får in en byte innehåller den 8 bitar. 1 byte = 8 bitar.

Det är upp till dig hur du sedan hanterar denna byte.

Du kanske skulle läsa på lite om det binära talsystemet och kolla lite hur VB kan manipulera binära och hexadecimala tal. Om du inte har någorlunda koll på bits och bytes kan det bli lite problematiskt att tyda hur din utrustning skickar ut data och hur du skall hantera det i VB.

Mats
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

Hej, ja lite mer påläst skadar ju inte.

Jag har testat att anropa read scratchpad 6 ggr nu och jag får olika svar varje gång, helt utan error. kan det då va så att jag ska läsa av 9 ggr, för det är ju 9 bytes jag ska ha.

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

Inlägg av sodjan »

Hur är din "read" från COM porten uppsatt ?

Vad händer om det just då inte finns något att läsa ? "Vänta" eller "avbryt direkt" ?

Och returnerar läs-operationen efter första inlästa byten ? Eller kan du få flera bytes från en läs-operation ? Och i vad (alltså variabeltyp, "byte", "integer", "string", "char" eller vad det nu heter i VB) lagras det som läs-operationen returnerar ? I ett tidigare kodexempel var det "buffer$", vilket låter som en string. Kanske lite jobbigt att hantera binära värden på det sättet. Det kan ju komma ett binärt värde som t.ex motsvrar CR, LF eller något annat controlltecken som kan röra till det i strängen. Finns det inte en variabeltyp som heter "byte" ? jag har för mig det...
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Du skall väll anropa "read scratchpad" *en* gång och "läsa av" 9 gånger för att få in alla bytes.

Men det gäller också att MSComm är uppsatt för att hantera vilka binära värden som helst. Jag har inte VB igång, men leta efter "passthrough", "raw" eller liknande. Här är jag ute på riktigt djupt vatten... :-)
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

Jag vet inte om jag löst det nu men jag läser in scratchpaden 9 ggr och den åttonde byten skiftar hela tiden, den står ganska stadigt tills jag tar i sensorn.

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

Inlägg av sodjan »

De två första byten skall vara temp.
Byte 8 är CRC.

Vad menar du med "läser in scratchpaden 9 ggr" ?
Skickar du h'BE' 9 gånger ?

I några exempel skickar man h'FF' för att läsa varje byte, jag vet inte om det är rellevant för ds18s20, man jag skulle prova i alla fall...
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

Ja jag skickar BE 9 ggr.

INtressant, jag skickade BE första o sen FF och då fick jag andra svar men det verkar mer rätt:)
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

Måste bara meddela att jag har 23,5 grader varmt bredvid datorn :D

tar jag i sensorn så får jag 24 och sen ökar den med 0,5 grader, precis så den ska:)

fyfasen va glad jag blir:)
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

Ja då har jag labbat lite med tempen, försökte mig på att få en högre upplösning på den men det blir inte rätt.

i databladet för ds18s20 på sid 5 "OPERATION MEASURING TEMPERATURE"
så ser man en uträkning.

Kan nån kolla på den och tala om hur jag ska göra?

Kan ju va så att jag e trött nu oxå hehe

Gonatt på er.

/B
Skriv svar