This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

[ouestion on rs232]

Hi ,
I have designed a circuit with µPSD3200 which communicates with PC , µPSD3200 data to pc and gets data from pc with rs232 .
i want to send and receive numbers from zero two FF , not ascii , just hex code from 00 to FF (in decimal : 0 to 255) .
but , i have read that the computer and micro sends ascii code , and ascii codes does not support the whole range of 00 to FF , so what shall i do ?

omid

Parents
  • "i have read that the computer and micro sends ascii code"

    Either you mis-read, or mis-interpreted, or it was wrong!

    The UART in a computer or a microcontroller can just send arbitrary bytes - it doesn't necessarily care about ASCII.

    "ascii codes does not support the whole range of 00 to FF"

    ASCII does use the codes from 00 to 1F - which is where the problem may lie:
    The ASCII Codes from 00 to 1F are used as Control codes - in particular, XON and XOFF (codes 13 and 11) can be used for so-called "Software Flow Control"

    Therefore, if you want to send binary data over an RS232 link, you have to ensure that nothing is configured for "software" flow control - or anything else that might unintentionally be triggered by binary data values

    Alternatively, you could encode your data so that it uses only printable ASCII codes - which is why we have formats such as Intel Hex, Motorola S-Records, MIME, UUENCODE, etc, etc...

Reply
  • "i have read that the computer and micro sends ascii code"

    Either you mis-read, or mis-interpreted, or it was wrong!

    The UART in a computer or a microcontroller can just send arbitrary bytes - it doesn't necessarily care about ASCII.

    "ascii codes does not support the whole range of 00 to FF"

    ASCII does use the codes from 00 to 1F - which is where the problem may lie:
    The ASCII Codes from 00 to 1F are used as Control codes - in particular, XON and XOFF (codes 13 and 11) can be used for so-called "Software Flow Control"

    Therefore, if you want to send binary data over an RS232 link, you have to ensure that nothing is configured for "software" flow control - or anything else that might unintentionally be triggered by binary data values

    Alternatively, you could encode your data so that it uses only printable ASCII codes - which is why we have formats such as Intel Hex, Motorola S-Records, MIME, UUENCODE, etc, etc...

Children
No data