SERIN Timeout


Closed Thread
Results 1 to 16 of 16

Thread: SERIN Timeout

Hybrid View

  1. #1
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by George View Post
    I also figure that I can't use the ON INTERUPT command - because that only works when a PBP statement is complete and the SERIN command will never complete if it doesn't get a qualifier and gets RF staic noise through all the time.

    BTW I forgot to mention the PIC I'm using is a PIC16F676
    Use a timeout just a bit longer than the length of the start bit at your baud rate and put it in a loop. If you get a SOLID start bit, then all should be well...if the start bit is flakely, it should timeout. That should let you use ON INTERRUPT alright, should is the key word

    Also, can you rewrite the code a bit on the sending unit? I'm thinking maybe some qualifying bytes sent before the actual data is sent might come in handy in a case like this. The qualifying bytes get a short timeout, the data gets a longer timeout, in seperate SERIN statements.

  2. #2
    Join Date
    Oct 2005
    Location
    New Zealand
    Posts
    171


    Did you find this post helpful? Yes | No

    Default

    Hey skimask, Took me a while to understand what you are saying (am a bit slow this far into the week). I think what you are saying would work, tho I'm concerned tho that it would be a bit intermittant as far as timing goes - as your timing may be dependant on what's coming through the airwaves at the time.

    Currently I'm thinking about building a squelch circuit which will no doubt limit my range but should enable the serin timeout to work - tho i do think the ideal would be an assembly interupt.

  3. #3
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by George View Post
    Hey skimask, Took me a while to understand what you are saying (am a bit slow this far into the week). I think what you are saying would work, tho I'm concerned tho that it would be a bit intermittant as far as timing goes - as your timing may be dependant on what's coming through the airwaves at the time.

    Currently I'm thinking about building a squelch circuit which will no doubt limit my range but should enable the serin timeout to work - tho i do think the ideal would be an assembly interupt.
    Again, do you have access to the data sending unit? Can you change the code in that? I'll thinking you could eliminate the squelch circuit by just adding a load of preamble bytes before the data...
    Otherwise...a squelch circuit probably wouldn't work either since you have to break squelch, which takes time, which takes bytes, and so on...
    I'm still thinking on this one...

  4. #4
    Join Date
    Oct 2005
    Location
    New Zealand
    Posts
    171


    Did you find this post helpful? Yes | No

    Default

    Yeah, have written the code for the sender so can change that to whatever, I've got "READY" as my qualifier. I'm going to try your idea about using a very short timeout to see how it works 1-2ms I'm thinking at the moment - will be interesting if nothing else to see what effect it has on the time keeping. Thanks for all yr input so far

  5. #5
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by George View Post
    Yeah, have written the code for the sender so can change that to whatever, I've got "READY" as my qualifier. I'm going to try your idea about using a very short timeout to see how it works 1-2ms I'm thinking at the moment - will be interesting if nothing else to see what effect it has on the time keeping. Thanks for all yr input so far
    I just saw that your baud rate is 2400. That's .416 us per bit, a start bit is generally 1.5 bit lengths, which gives you .625us for a start bit. Timeout is limited to 1 ms minimum, it might work, it might not. You might end up waiting for READY, but only able to receive "EADY". I would think if you sent a string of qualifiers (bunch of $AA55's or the like), say 10 of them, wait until you have a solid 5 received, then you should be able to dispense with any timeouts because you signal is strong enough to get the qual's.

  6. #6
    Join Date
    Oct 2005
    Location
    New Zealand
    Posts
    171


    Did you find this post helpful? Yes | No

    Default

    I've got a string of 5 $AA preceeeding the READY, and haven't seemed to have much of a problem getting the data to the receiver - i send the data 5 times on a transmission to make fairly sure it gets through. I've got the timeout at 1ms toggling an LED to indicate to me when it's exiting out of the serin command - it's way random tho can tripout every half second or every 10 minutes. The issue I have is not so much transmitting the data - it's when no data is being transmitted

  7. #7
    Join Date
    Oct 2005
    Location
    New Zealand
    Posts
    171


    Did you find this post helpful? Yes | No

    Default

    Oh the other thing I forgot to mention is that the RF modules r AM so there is alot of static when there is no carrier

Similar Threads

  1. Serin timeout not working properly!
    By Megahertz in forum mel PIC BASIC Pro
    Replies: 26
    Last Post: - 1st January 2010, 21:56
  2. SERIN timeout
    By Del Tapparo in forum Serial
    Replies: 3
    Last Post: - 20th November 2007, 05:34
  3. 16F628A Serin timeout and Timer1
    By Rubicon in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 27th March 2006, 00:20
  4. SERIN SERIN2 Timeout
    By markedwards in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 23rd June 2005, 19:59
  5. SERIN & Timeout
    By BigWumpus in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 30th October 2004, 08:33

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