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

How to create and use a frame with RS485 ?

Dear my all friends,

I am a new user of RS485 serial communication but I do not know how to trans and receive multiple bytes without any data loss as well as errors or jitter.

My MCUs are 89C51 family (89S51,DS89C420..), in fact, my trouble is how to control a communication session with multiple-byte data frame using serial port of 89C51 family. I should use interrupt routines or main loop to process that session ???

Any one help me, please..., thanks!

Parents
  • [joke]
    Q: How can you eat a whole whale?

    A: One bite at a time!
    [/joke]

    "I have only the two put(byte) & get(byte) tools"

    That's all you need - you can only put 1 byte at a time to the UART, and get 1 byte at a time from the UART.

    To put or get multiple bytes, you just call put() or get() the appropriate number of times!

    Remember: after you put a byte to the UART, it takes a finite time to transmit - so you must wait for it to finish before you put the next byte!
    Similarly for receiving.

    (There is an example of interrupt-driven serial IO in the Downloads section).

Reply
  • [joke]
    Q: How can you eat a whole whale?

    A: One bite at a time!
    [/joke]

    "I have only the two put(byte) & get(byte) tools"

    That's all you need - you can only put 1 byte at a time to the UART, and get 1 byte at a time from the UART.

    To put or get multiple bytes, you just call put() or get() the appropriate number of times!

    Remember: after you put a byte to the UART, it takes a finite time to transmit - so you must wait for it to finish before you put the next byte!
    Similarly for receiving.

    (There is an example of interrupt-driven serial IO in the Downloads section).

Children