rs232 mottagare?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
AndLi
Inlägg: 18273
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

ändra ditt program så det ger dig alla värden iställer för att konvertera dem till ascii! Ascii är du inte intresserad av alls..

Du ska skicka &hC1 utan "" annars ser VB det som en sträng och skickar 24 bitar.. det vill vi inte!!
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

Det går inte att skicka utan "", då får jag error på det, "Invalid property value" säger den på raden "MSComm1.output= &HC1" om jag kör utan...
Användarvisningsbild
AndLi
Inlägg: 18273
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

hmm om du gör MSComm1.output = ascii(&hC1) då?

Nu ska det ju tilläggas att jag inte kodat VB sen 2000 typ...
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31450
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg av MadModder »

Då får du skicka ascii 193 då. (Det är tecknet Á). Det är enklare att hålla reda på om du skickar CHR(&HC1). Men sen när du får tillbaks tecken, ska du skriva ut print hex(resultat) för varje tecken du får tillbaks. Ett och ett.
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

YEEEEEEEEEEEEEEESSS!!!

Jag skickade CHR(&HC1) och fick svaret "Í", det svaret blir CD i HEX:)

Så då borde detta funka?
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31450
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg av MadModder »

Ja, det verkar inte bättre :D
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

FY fasen, det va det här jag väntade på, att få reda på HUR jag ska skicka datat:)

Är inte så påläst om alla dessa asc, hex, mm mm:)


TACK så mycket!!

Nu ska jag labba lite med resten:)

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

Inlägg av benring »

Ja, nu ska vi se då, jag har följt tabellen på sid 23 i databladet "TEMPERATURE CONVERSION SEQUENCE"

Jag får följande svar:

38
CD
CC
EF
44
76
EC
CD


"38", "CD" & "CC" är korrekt enligt tabell.

"EF" är svaret jag får, enligt tabell står det bara "response", vet alltså inte om detta är rätt.

"44" är korrekt.
"76" är vad jag får som svar på templäsningen, återigen står bara "response" i tabellen

Lika så "EC"

"CD" är korrekt.
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31450
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg av MadModder »

Det står inte vad de där response talar om för något?
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

Nej, det gör inte det, fattar inte varför.

Jag har ju fått värden på dom men om dom är rätt vet jag inte.

Vad jag än tester i tabellerna så får jag rätt svar på allt som det står svar om.

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

Inlägg av benring »

Nej nu har jag kört fast igen....

Kan man få lite undsättning?

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

Inlägg av sodjan »

Phu, tur att flera "ryckte in" och hjälpte till... :-)

Ett mindre klarläggande...
"RSLink" är en enkel TTL/CMOS (*ej* inverterad) till RS232 konverter.
Det betyder att DS2480B skall vara konfigurerad (via POL pinnen) för "normal" polaritet på TX/RX.

Fint att någon upptäckte ASCII/HEX problemet i VB !
Det skulle jag ha sett i går... :-(

Sedan, notera att det "TEMPERATURE CONVERSION SEQUENCE" exempel som finns i databladet för DS2480B är tänkt att användas med DS1920, alltså inte DS18S20 som du har just nu. Jag har just nu ingen aning om ifall dessa två temp-givare är helt kompatibla, eller hur det ligger till.

Jag skulle plocka fram databladet för DS1920 och studera det tillsammans med exemplet, för att se hur det (eventuellt) skall modifieras för att passa DS18s20.
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

Hej:)

Jo, jag har jämfört exemplet i bladet för 2480´n o med ds18s20´n och det är samma så vitt jag kan se.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

OK.

Jag kollade lite snabbt, och jag kunde inte riktigt känna igen de olika koderna som finns i exemplet i databladet för DS2480B med de som DS18s20 behöver.

T.ex så verkar det som om exemplet i D-B för DS2480B förväntar sig att temp-värdet skickas ut direkt efter "convert" (h'44'). DS18s20 behöver även ett "Read Scratchpad" kommando (h'BE') för att skicka ut något, om jag inte har missförstått allt sammans...

Du kanske ska kolla "DS18S20 OPERATION EXAMPLE 3" på sidan 19 i databladet för DS18s20, och jämföra det med exemplet i databladet för DS2480B. Prova att modifiera enligt databladet för DS18s20, så får vi se vad som händer...
benring
Inlägg: 900
Blev medlem: 18 januari 2005, 19:35:25

Inlägg av benring »

Jo, när jag skickat "44" så stannar koden upp lite grann, så den gör nått just då, sen fortsätter koden enl exemplet, därefter kör jag om koden men jag byter "44" mot "BE" i princip så jag kör en read scratchpad.

Så här ser det ut:
Jag har döpt funktionerna till vad dom gör och även vilken hexkod
Hoppas ni förstår dom.

PULLUP_524
RESET_C1
DATAMODE_E1
SKIPROM


COMMANDMODE_E3
ARM_STRONG_PULLUP
TERMINATE_PULSE_EF
DATAMODE_E1
CONVERT_T

WAIT_76 (* Denna får värdet 76 efter den lilla stunden)

COMMANDMODE_E3
DISARM_STRONG_PULLUP
TERMINATE_PULSE_EC
RESET_C1

DATAMODE_E1
SKIPROM
COMMANDMODE_E3
ARM_STRONG_PULLUP
TERMINATE_PULSE_EF
DATAMODE_E1
READ_SCRATCHPAD (*här ska den få temp, den får "BE" som svar, dvs samma som ja skickar)
COMMANDMODE_E3
DISARM_STRONG_PULLUP
TERMINATE_PULSE_BE
RESET_C1

EDIT: Jag har testat att modifiera efter exempel 3.
EDIT2: Tycker det är förbaskat jobbigt att det bara står response i D-B å inte nån hexkod...
Skriv svar