Skip to content

Conversation

@BartMassey
Copy link
Member

The description of serial ports and serial communication was pretty confusing: now it's much cleaner. The new chapter name Serial Port should help, as it unambiguously describes the thing we will actually be working with.

closes #78

@BartMassey BartMassey requested a review from a team as a code owner November 27, 2025 18:57
The description of serial ports and serial communication was
pretty confusing: now it's much cleaner. The new chapter
name `Serial Port` should help, as it unambiguously
describes the thing we will actually be working with.

closes #78

(Old school-serial ports also include a number of other wires for "out-of-band signalling", to tell the hardware when the connection is active, when the other end is ready to receive, etc. These wires are rarely used today, and are often not implemented in serial port hardware.)

We'll be using a serial port to exchange data between the microcontroller and your computer. Now you might be asking yourself why exactly we aren't using RTT for this like we did before. RTT is a protocol that is meant to be used solely for debugging. You will most definitely not be able to find a device that actually uses RTT to communicate with some other device in production. However, serial communication is used quite often. For example some GPS receivers send the positioning information they receive via serial communication. In addition RTT, like many debugging protocols, is slow even compared to serial transfer rates.
Copy link
Contributor

@iampi31415 iampi31415 Nov 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry to be annoying but we are not using a serial port (that is a physical thingy); as Wikipedia says, that would be using a the physical interface.

Why not to say that we will use a USB port / interface, but communicate using RS-232, which seems to be what the minicom config file does?
Maybe that's not fully correct but seems more understandable to me.
Maybe the USB opens a way to have the emulated serial device under /dev/tty/, so we communicate as if there was a Serial Port?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are not using RS-232, which is an electrical standard that specifies -12V for a "high" state and +12V for a low state, among other things. The "serial port" we are using is on the nRF52833 itself; the USB interface is a convenience / detail.

I will try to further clarify the wording, I guess.

</p>

Nah, don't worry. This connector, the DE-9 (often referred to as DB-9), went out of fashion on PCs quite some time ago; it got replaced by the Universal Serial Bus (USB). We won't be dealing with the DE-9 connector itself but with the communication protocol that this cable is/was usually used for.

Copy link
Contributor

@iampi31415 iampi31415 Nov 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a question rather, but I don't quite get the point of the chapter? What we as learners do here is:

  1. Connect through USB
  2. echo a string to the /dev/tty file
  3. use minicom to send data at a baud-rate.

For 1. it is unclear which protocol we would be using? Is echo to a tty file implying that the communication is using RS-232 ?

For number 2 I again guess it is RS-232, which is the one used by DE9 or a Serial Port (which is a Serial Communication Interface, hence a physical thing.) but through an emulated port (the tty file, I think, represents the UART hardware ?)

But the protocol isn't named anywhere, I think would be clearer if it is literally stated which protocol we would be using, and what the point of it is?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The overall point of the chapter is twofold: provide some background and explanation of the complex world that is async serial, and make sure that you can talk to the nRF52833 serial port from your host computer.

I know of no standard name for the protocol itself. It is commonly referred to as just "async serial", which is how the chapter used to refer to it. minicom works exactly like echoing to a TTY device, except that it both reads and writes there as needed to present a terminal interface.

Again, I'll try another reword at some point.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know of no standard name for the protocol itself. It is commonly referred to as just "async serial", which is how the chapter used to refer to it.

That makes sense now! That is why it was confusing to me, because without knowing it has no name, I assumed it was the name for a family of protocols with concrete names.

So sending bytes through a /dev/tty* device at a specified baud rate, is the asynchronous serial protocol, without any more specific name.

Suggestion: It seems to me that making this lack of a more concrete name explicit (does not have one to our knowledge) would make it easier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clarify section on Serial Communication?

2 participants