LCDout and large filesize 18F452 -> paging problem?


Closed Thread
Results 1 to 19 of 19

Hybrid View

  1. #1
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    as i said, you want to use LATD instead of PORTD. Pulsout also do more than a single PORT/LAT=x. If my memory serves me well it set the TRIS.. then do what it has to do. Hence wasting a few instruction cycle before and after... why the R-M-W behaviour don't happen.. or is reduced to a minimum.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  2. #2
    Join Date
    Jan 2008
    Location
    Finland
    Posts
    11


    Did you find this post helpful? Yes | No

    Default

    > as i said, you want to use LATD instead of PORTD.

    Ok, u do have a point and that must be the issue here.. BUT..
    could it be so that the LCDout-command is causing this RMW behaviour and not the other way around?
    I mean without LCDout everything works fine.. o:-)
    what can I do about that build-in LCDout-command?
    I don't have time and energy to write my own LCDout-command..
    o:-)

  3. #3
    Join Date
    Jan 2008
    Location
    Finland
    Posts
    11


    Did you find this post helpful? Yes | No

    Default

    > as i said, you want to use LATD instead of PORTD.

    Ok, Now i know it is about RMW. As I put "pause 5000" right after portD.7=1 command, the led in portD.7 will light for 5seconds.

    There ain't any other solution than find another port for output-like portB.1?
    Last edited by mara; - 24th January 2008 at 23:28.

  4. #4
    Join Date
    Jan 2008
    Location
    Finland
    Posts
    11


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mister_e View Post
    as i said, you want to use LATD instead of PORTD. Pulsout also do more than a single PORT/LAT=x. If my memory serves me well it set the TRIS.. then do what it has to do. Hence wasting a few instruction cycle before and after... why the R-M-W behaviour don't happen.. or is reduced to a minimum.
    Ok, now it works: instead of portD.7=1 I write:

    latd.7=0
    latd.7=1

    and now portD.7 will stay high even if LCDout is used..
    BUT.. why do I have to do it that way? o:-)

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