Kan ej skicka 0 via RS232 till dator
Kan ej skicka 0 via RS232 till dator
Jag håller på med ett projekt där jag sänder data från en pic till dator via RS232.
Det går att skicka värden från 1-255, men om jag skickar 0 så får jag ingen byte in till datorn.
Jag har mätt på RS232-tråden med oscilloscope och signalen ser korrekt ut även när jag skickar en nolla.
Jag har testat att ta emot data med Hyperterminalen och mitt egna program i visual basic med samma resultat.
Jag kör utan handshaking och paritet, det är bara 1 startbit, 8 databitar och 1 stopbit.
Har ni några ide'er om vad som kan vara fel?
Det går att skicka värden från 1-255, men om jag skickar 0 så får jag ingen byte in till datorn.
Jag har mätt på RS232-tråden med oscilloscope och signalen ser korrekt ut även när jag skickar en nolla.
Jag har testat att ta emot data med Hyperterminalen och mitt egna program i visual basic med samma resultat.
Jag kör utan handshaking och paritet, det är bara 1 startbit, 8 databitar och 1 stopbit.
Har ni några ide'er om vad som kan vara fel?
Re: Kan ej skicka 0 via RS232 till dator
Nu jar jag testat med realterm och fick samma resultat.
Jag är fortfarande helt lost i det här problemet.
Men tack för tipset, jag kommer nog använda realterm i fortsättningen.
Jag är fortfarande helt lost i det här problemet.
Men tack för tipset, jag kommer nog använda realterm i fortsättningen.
Re: Kan ej skicka 0 via RS232 till dator
Är du säker på att det inte funkar, du får sätta RT i Hex-läge, för att kunna se det som inte är "skrivbart"
Re: Kan ej skicka 0 via RS232 till dator
Jag förstår inte vad du menar med RT men jag har valt "Display AS HEX" så jag ser exakt vad som kommer + att jag har testat att köra capture och sen tittat på filen i en hex-editor.
Re: Kan ej skicka 0 via RS232 till dator
Den bästa lösningen vora kanske att du håller dig till
skrivbara tecken, RS232 fungerar bättre (och är mycket
lättare att felsöka) på så sätt. Det du försöker skicka är en
"null" och det vet i tusan hur det hanteras i alla led, det gäller
att du har satt upp alla delar till att vara helt transparenta.
skrivbara tecken, RS232 fungerar bättre (och är mycket
lättare att felsöka) på så sätt. Det du försöker skicka är en
"null" och det vet i tusan hur det hanteras i alla led, det gäller
att du har satt upp alla delar till att vara helt transparenta.
Re: Kan ej skicka 0 via RS232 till dator
0 funkar såklart helt perfekt att skicka med RS232, strul blir det om man i något led i mjukvaran hanterar datan som strängar och blir förvirrad av sträntermineringen. Men att skicka 0 över en RS232 länk finns det absolut inga hinder för.
Re: Kan ej skicka 0 via RS232 till dator
Har du något exempel på program som kan läsa 0'or?
Hyperterminal och Realterm funkar iaf inte.
Hyperterminal och Realterm funkar iaf inte.
Re: Kan ej skicka 0 via RS232 till dator
Med detta program har jag nu testat skicka 0 (NUL, '00'h) till en PIC som sedan skicka tillbaka till programmet och det fungerar.
http://www.compt.ru/
http://www.compt.ru/
Re: Kan ej skicka 0 via RS232 till dator
Jag testade ditt exempel Stewal och det fungerade så då ska jag bara ta reda på hur man gör rätt i visual basic.
Tack!
Tack!
Re: Kan ej skicka 0 via RS232 till dator
Använder du ReadChar eller ReadByte i VB? Jag satt nyss med lite RS232 i VB2008 och upplevde inga problem med att ta emot "0" och läsa den ur bufferten med ReadByte.
Re: Kan ej skicka 0 via RS232 till dator
cutecom är det jag använder när jag testar kommunikationslänkar, annars är det egenskrivna java/c program som används vid seriel kommunikation.Chribbe76 skrev:Har du något exempel på program som kan läsa 0'or?
Hyperterminal och Realterm funkar iaf inte.
provade gtkterm tidigare och den skriver ut rätt antal tecken men bytes efter 0x00 blir fel, mycket förvirrande..
Re: Kan ej skicka 0 via RS232 till dator
Jag kör i VB6 och har inga problem med 0:or varken ena eller andra vägen 
Iofs kör jag över RS485 just nu men det är ju ändå över en USB->serieportsadapter i början.
Kan det vara att 0 är något särskilt tecken? Det är ju ändå rätt vanligt förekommande tycker jag
Iofs kör jag över RS485 just nu men det är ju ändå över en USB->serieportsadapter i början.
Kan det vara att 0 är något särskilt tecken? Det är ju ändå rätt vanligt förekommande tycker jag
