RS485 Comms


Closed Thread
Results 1 to 2 of 2

Thread: RS485 Comms

  1. #1

    Default RS485 Comms

    Good day

    I am using the SN75176 to communicate (RS485) between two PICs.
    For testing my cable is about 1m long running @ 4Mhz using PIC16F877.
    I have a TX Pic and a RX Pic, on the RX side I send the data received to the PC for debuggin purposes.
    I only transmit 1 character, and receive it on the RX side and send it to the PC.


    <hr>
    Here is the code for the TX side:

    <code>
    '======== RS485TX.BAS =====================

    Include "Modedefs.bas"

    DEFINE OSC 4 ' Set the Xtal frequency

    P0 VAR PORTB.6
    P1 VAR PORTB.7

    CCP1CON = 0
    ADCON1 = 7

    Main:

    OUTPUT P0
    HIGH P0
    SEROUT P1,N2400,["R"]

    GOTO MAIN

    END
    </code>

    <hr>
    Here is the code for the RX side:

    <code>
    '======== RS485RX.BAS =====================

    Include "Modedefs.bas"

    DEFINE OSC 4 ' Set the Xtal frequency

    P0 VAR PORTB.6
    P1 VAR PORTB.7
    DEBUGPIN VAR PORTB.5
    DATARECEIVED VAR BYTE

    CCP1CON = 0
    ADCON1 = 7

    Main:

    OUTPUT P0
    LOW P0
    SERIN P1,N2400,DATARECEIVED

    SEROUT DEBUGPIN,N2400,["Received:", DATARECEIVED, 13, 10]

    GOTO Main

    END
    </code>

    <hr>

    On the PC Side I get the following:

    Received:R
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’
    Received:%
    Received:J
    Received:•
    Received:*
    Received:T
    Received:©
    Received:R
    Received:€
    Received:I
    Received:’

    <hr>

    Any ideas

    Thank you
    Koossa

  2. #2
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by koossa View Post
    Any ideas

    Thank you
    Koossa
    Notice how the output repeats itself?

    Try putting a slight pause in between each transmit at the transmitter end. You're transmitting characters without pauses. The receiver has to both receive and transmit characters, so it does that, and starts trying to receive another character after the transmitter has already sent half of it.
    At 2400 baud, throw a 'PAUSE 9' in between each character at the transmitter.
    2400 baud = .416ms/bit = 4.16ms/byte (start and stop bits included), receiver gets a character and transmits a character, same speed = 8.33ms. 9ms gives the receiver time to get done doing what it's gotta do before it's gotta do something else to get done.

Similar Threads

  1. RS485 splitter
    By The Master in forum Off Topic
    Replies: 0
    Last Post: - 30th August 2009, 06:04
  2. RS485 Vs Wireless (TWS-434A)
    By koossa in forum Off Topic
    Replies: 3
    Last Post: - 11th April 2009, 12:40
  3. USB to RS485
    By The Master in forum USB
    Replies: 0
    Last Post: - 3rd January 2009, 03:49
  4. RS485 serial communication
    By mipie in forum Serial
    Replies: 5
    Last Post: - 10th February 2007, 13:15
  5. Pic to Pc Comms
    By Darrenmac in forum General
    Replies: 2
    Last Post: - 21st May 2005, 01:44

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts