MCP4231 vs. MCP4251?


Closed Thread
Results 1 to 4 of 4

Hybrid View

  1. #1
    Join Date
    Aug 2011
    Posts
    461


    Did you find this post helpful? Yes | No

    Default Re: MCP4231 vs. MCP4251?

    The way I read the datasheet it doesn't look like the first byte you're sending is correct (WriteOnPot0/WriteOnPot1).

    The first 8-bits of the 16-bit command are: AD3 AD2 AD1 AD0 C1 C0 D9 D8
    where D9 and D8 are the upper parts of the 10-bit wiper data, followed by the lower 8-bits of data D7-D0 in the second byte

    The 7-bit part wiper settings are from 000H to 080H (full-scale), with 081H to 3ffH reserved
    The 8-bit part wiper settings are from 000H to 100H (full-scale), with 101H to 3ffH reserved

    I'm assuming you meant to use the binary constants
    Code:
        WriteOnPot0 con %000001
        WriteOnPot1 con %010001
    If so, you're always setting data bits D9 and D8 to '01' which means the wiper data is always from 100H to 1ffH


    Try these instead
    Code:
        WriteOnPot0 con %00000000
        WriteOnPot1 con %00010000

  2. #2


    Did you find this post helpful? Yes | No

    Default Re: MCP4231 vs. MCP4251?

    Quote Originally Posted by tumbleweed View Post
    The way I read the datasheet it doesn't look like the first byte you're sending is correct (WriteOnPot0/WriteOnPot1).

    The first 8-bits of the 16-bit command are: AD3 AD2 AD1 AD0 C1 C0 D9 D8
    where D9 and D8 are the upper parts of the 10-bit wiper data, followed by the lower 8-bits of data D7-D0 in the second byte

    The 7-bit part wiper settings are from 000H to 080H (full-scale), with 081H to 3ffH reserved
    The 8-bit part wiper settings are from 000H to 100H (full-scale), with 101H to 3ffH reserved

    I'm assuming you meant to use the binary constants
    Code:
        WriteOnPot0 con %000001
        WriteOnPot1 con %010001
    If so, you're always setting data bits D9 and D8 to '01' which means the wiper data is always from 100H to 1ffH


    Try these instead
    Code:
        WriteOnPot0 con %00000000
        WriteOnPot1 con %00010000
    Thanks! That fixed it! I don't know why that previous code worked just fine for the 7-bit version, but it did. The 8 bit version didn't like it at all.

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