Reading signed data from RS232

Hi,
I want to read 256 signed numbers from RS232. In Hyperterminal I see:
-54
-54
-54
-52
-55 . . . But when I read it in Matlab I saw something like that:
out=fread(s)
45 53 52 13 13 10 45 . . .
And if I convert "out" to char (val=char(out)) I haven't got 256 numbers, I have 45...I know that this problem is due to conversion into ASCII characters..
Can anybody give me a solution to read correctly the data?

Réponses (2)

Ankit Desai
Ankit Desai le 20 Avr 2011

0 votes

You can provide the precision that you want to use with fread.
The online documentation should provide more details.
-Ankit

1 commentaire

Walter Roberson
Walter Roberson le 20 Avr 2011
Ankit, if you examine char([45 53 52]) you will find it is '-54' so the problem is not the precision the variables are written at, but rather that the data is being ASCII encoded and needs to be converted back to numeric form.

Connectez-vous pour commenter.

Catégories

Tags

Question posée :

VQ
le 19 Avr 2011

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by