0
\$\begingroup\$

What FD, FE and FF hex values of chars represent in UART communication? For some time my UART won't work, and always returning me those three?

\$\endgroup\$
  • 2
    \$\begingroup\$ Are both DTE and DCE set to matching baud rate, character length, parity, stop bits (e.g. 9600 8N1 for example)? When was the system previously working? What could have changed? What data was expected and how is it encoded before sending to UART? (UART only sends raw data, regardless of what encoding is used.) \$\endgroup\$ – MarkU Sep 4 '15 at 7:18
  • 1
    \$\begingroup\$ One common beginner mistake is not to have GND between DTE and DCE connected, wich can lead to non-working or unreliable data transfer. \$\endgroup\$ – Rev1.0 Sep 4 '15 at 7:19
  • \$\begingroup\$ In binary, FD is 11111101, FE is 11111110, and FF is 11111111. There are lots of 1-level bits on your signal line … \$\endgroup\$ – CL. Sep 4 '15 at 8:08
  • \$\begingroup\$ If you are expecting character data, the bytes FE and FF are used in various combinations as a BOM to inform the reader that the following characters are/are not Unicode characters. \$\endgroup\$ – Roger Rowland Sep 4 '15 at 9:11
1
\$\begingroup\$

They often mean that communications do not work properly. The very first bit (the start bit) appears, but the data bits do not. Common reasons for that are:

  • Bad connection in ground or data line (high resistance or capacitance)
  • Sender's baudrate is way too high (sender sends at 57600, receiver listens at 9600)
  • Sender's voltage is too low (1.8V sender sends data to 5.0V receiver)
  • Power supply problems (regulator is overloaded or oscillating because capacitors are not big enough)
\$\endgroup\$
  • \$\begingroup\$ And noise pick up or loose connections could cause spurious start bits. Feel free to add to your answer \$\endgroup\$ – KalleMP Sep 4 '15 at 19:21
3
\$\begingroup\$

Nothing, they're just bytes. Why your device produces them and how your terminal emulator interprets them is implementation-specific, but they don't mean anything in a general sense.

\$\endgroup\$
  • \$\begingroup\$ They are bytes because they cannot be shown (UTF-8 chars). I'll try to give you UTF-8 hex codes for these three. \$\endgroup\$ – Junior Sep 4 '15 at 7:00
  • 1
    \$\begingroup\$ @Junior: Its not really relevant. \$\endgroup\$ – Rev1.0 Sep 4 '15 at 7:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.