18F2550 timing


Closed Thread
Results 1 to 21 of 21

Thread: 18F2550 timing

Hybrid View

  1. #1
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    So what did you have the CPU divisor set to when it worked with HSPLL set on the MAC?

    I know zero about the MAC, but it could be that your main-line program code is too slow
    to meet the MAC USB tming. I.E. it could be that a USB device needs to check in more
    often than on a PC platform to maintain the connection.

    More details would really help.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  2. #2
    Join Date
    Aug 2008
    Posts
    12


    Did you find this post helpful? Yes | No

    Default

    Here's a simplified question about something I just noticed:

    on an 18F2550 with a 20MHz xtal programmed HS with no postscaler and a DEFINE OSC 20...

    Pause 2000 pauses for exactly 2 seconds

    but with the same setup...

    For cnt=1 to 2000
    Usbservice
    Pause 1
    Next cnt

    pauses just for 258ms

    Why? First off, I thought I wasn't supposed to be able to Pause 2000 and maintain my USB connection but I am. Secondly, what's with the timing discrepancy?

  3. #3
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    How do you know it pauses just for 258ms?

    If you are not sure PAUSE 1 works, then setup a simple loop to toggle a pin, and watch
    it with a scope.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  4. #4
    Join Date
    Aug 2008
    Posts
    12


    Did you find this post helpful? Yes | No

    Default

    I know those pauses are what they are because the circuit outputs a MIDI note across USB to a host computer and an app on that host measures the time between events. Both examples should theoretically pause 2000ms between each MIDI note indicator .

    I'll try the pin toggle to the scope idea. Seems like Pause 1 will take just .129ms because 2000 times through the loop is taking only 258ms for some reason.

  5. #5
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    I think you may be forgetting to add the time it takes for certain functions to execute.

    PAUSE 2000 pauses for 2000 * 1mS.

    For cnt=1 to 2000 ' this takes time
    Usbservice ' this takes time
    Pause 1 ' this should take about 1mS
    Next cnt ' this takes time

    Obviously, the 2nd version is NOT the same. You have to account for the time Usbservice
    takes + the time to execute the for next loop.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  6. #6
    Join Date
    Aug 2008
    Posts
    12


    Did you find this post helpful? Yes | No

    Default

    What you said could make sense if the 2nd version actually was taking longer, but it's running 8 times faster.

    remember, pause 2000 is measuring out as 2000ms but the loop example is completing in 258ms!

  7. #7
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    I'm totally guessing here, but it sounds like you might have declared your cnt variable as
    a byte VS a word.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

Similar Threads

  1. 12F683 serout timing
    By Hobie Cat in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 21st December 2009, 16:57
  2. 18f2550 + 24lc512
    By mpardinho in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 20th December 2007, 22:02
  3. 18f2550 oscillator problems
    By rjones2102 in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 28th September 2007, 03:57
  4. 18f2550 'access is denied' USB error?
    By Giulio in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 30th December 2006, 14:29
  5. HSEROUT buffering and timing - 16F88
    By picster in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 5th March 2006, 17:52

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