SERIN2 = ok, HSERIN = no!


Closed Thread
Results 1 to 29 of 29

Hybrid View

  1. #1
    Join Date
    Feb 2006
    Location
    Gilroy, CA
    Posts
    1,530


    Did you find this post helpful? Yes | No

    Default Re: SERIN2 = ok, HSERIN = no!

    Well I am a bit confused too. It looks like he is inverting it, and using a max232, and has success with that (If I am reading it right). So, if that is the case, don't invert it, and don't use a max232.
    http://www.scalerobotics.com

  2. #2
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,172


    Did you find this post helpful? Yes | No

    Default Re: SERIN2 = ok, HSERIN = no!

    Quote Originally Posted by ScaleRobotics View Post
    ... So, if that is the case, don't invert it, and don't use a max232.

    That's what I was going to post, but thought I'd sound even more weird than usual.

    I see where my debugging went wrong; I relied on his comments, not his settings.

    Code:
    GPSbps    = 32852       'Open,True,N,9600bps (TTL level)
    He said TRUE (non-inverted) but then contradicted with N (inverted) in his comment. It can't be both. I was looking for T or N, to compare against the table in PBP manual.

    Using PIC Multicalc:
    9600, open, inverted, no parity = 49236
    9600, open, true, no parity = 32852

    The working SERIN was using non-inverted, that would explain why inverting a MAX232 would work.

    Does that make sense?

    Robert

  3. #3
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default Re: SERIN2 = ok, HSERIN = no!

    The "N" in his comment is for No parity.
    As in "8,N,1"
    Dave
    Always wear safety glasses while programming.

  4. #4
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,172


    Did you find this post helpful? Yes | No

    Default Re: SERIN2 = ok, HSERIN = no!

    That's possible, but that only explains why I got confused trying to follow his settings.

    The fact remains that he was using non-inverted in SERIN, and then trying inverted in HSERIN at the end, no?

    He shouldn't have to use a MAX232 with HSERIN if his GPS worked with SERIN non-inverted. Or is he on to something with HSERIN creating higher voltages than SERIN? (I have no idea about that).

    Robert


    EDIT: Look at SERIN in the PBP manual, that's where I got N as being inverted. His comment didn't mention a stop bit so I didn't catch on as it meaning 8N1.
    Last edited by Demon; - 23rd March 2012 at 14:10.

  5. #5
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default Re: SERIN2 = ok, HSERIN = no!

    I Think HSERIN only speaks TRUE and likes a nice pull up resistor, just to keep it honest. The max232 would invert it, NO?
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  6. #6
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    4,139


    Did you find this post helpful? Yes | No

    Default Re: SERIN2 = ok, HSERIN = no!

    Some PIC have the option to select true or inverted.

    Ioannis

  7. #7
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default Re: SERIN2 = ok, HSERIN = no!

    Quote Originally Posted by Ioannis View Post
    Some PIC have the option to select true or inverted.

    Ioannis
    Don't know what I saw, I thought he was working with a 16F628 . . . still I did not know this anyway. Thanks to you and Walter.
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  8. #8
    Join Date
    Aug 2006
    Location
    SWITZERLAND (french speaking)
    Posts
    938


    Did you find this post helpful? Yes | No

    Default Re: SERIN2 = ok, HSERIN = no!

    Based on the code in post #12, I removed the WAIT modifier to be able to see what happens on each try (= display anything data that comes into the PIC): HSERIN[STR GPS_D\6].

    Quote Originally Posted by Archangel View Post
    ...and likes a nice pull up resistor...
    I removed the MAX232, added a 10k pull-up on PORTC.7 (PIC's RX pin) and changed BAUDCON to % 01001000 (not inverted). It works now!!!


    I re-modified the code to: HSERIN [WAIT("$GPGGA,"),STR GPS_D\6]

    I now can see "HH:MM:SS" as it should.

    Nevertheless, I have my PIC running for more than an hour now and it often hangs (= time is no incrementing every second anymore) and starts overs maybe 10 or 20 seconds later. Seems that the data signal is just at the limit the PIC can "read" it properly. This does not happen in my SERIN2 mode.

    With the oscilloscope, I measure 4,7VDC for the highest data signal level on PORTC.7 while the PIC and the GPS module are powered by the PICKit2 and its 4,95VDC from USB.

    I think I will choose to stay on the SERIN2 version since it looks more "reliable" and, as already said, needs less components.
    Last edited by flotulopex; - 25th March 2012 at 10:08. Reason: typo
    Roger

  9. #9
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default Re: SERIN2 = ok, HSERIN = no!

    Quote Originally Posted by flotulopex View Post
    Nevertheless, I have my PIC running for more than an hour now and it often hangs (= time is no incrementing every second anymore) and starts overs maybe 10 or 20 seconds later.
    That sounds more like a USART buffer overflow.
    If it isn't cleared ... it will hang.

    Try adding ...

    DEFINE HSER_CLROERR 1 ' clear overflow automatically
    DT

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