|
|
|
good chemistry is complicated, and a little bit messy -LW |
|
| PerlMonks |
using sprintf to print binary data collected from the serial portby Bruce32903 (Scribe) |
| on May 22, 2008 at 22:29 UTC ( #688053=perlquestion: print w/ replies, xml ) | Need Help?? |
|
Bruce32903 has asked for the
wisdom of the Perl Monks concerning the following question:
Greetings Monks
I'm trying to collect and process binary data collected from the serial port. The data can range from 0x00 to 0xff. I am using Device::SerialPort and I seem to be receiving the data with no problem. But, I am getting nowhere trying to use the data. I seem to be getting the binary data into a variable $ibuf. In an attempt to see a byte or two of the data I use the following line of code hoping to display the hex-text representation of the data in a Tk window. $ibuf_display = sprintf("%x ", substr($ibuf, 1, 1)); With this I get the following (or similar) error messages: Argument "^C" isn't numeric in sprintf at (program_name) line (line_number) As far as I know Perl should just have "data", so this looks like a "sprintf from C" issue. But I don't know what to do about it. As I go downstream I will be interested in doing the following: 1) Display data in "human friendly" form. This would be 0x03 for the ^C that was in the error message above. 2) Use if ( ) conditionals to process the data. Any suggestions would be appreciated. Somehow I haven't yet tripped accross this while Googling. Thanks, Bruce
Back to
Seekers of Perl Wisdom
|
|
||||||||||||||||||||||||||||