[SOLVED !] i2c communication with MD23 motor driver


Closed Thread
Results 1 to 8 of 8

Thread: i2c communication with MD23 motor driver4019 days old

  1. #1
    brown
    Guest brown's Avatar

    0 Not allowed!

    Default i2c communication with MD23 motor driver

    Hi,
    I have this wonderful motor controller:
    http://www.robotstorehk.com/motordri...c/md23tech.pdf

    I am testing it with an 18f1320, a 12f683 and a basic stamp2.

    on the 18f1320 and 12f683 I am using the internal oscillator @ 8mhz
    my problem is that although I can write commands to the md23 via i2c and it drives correctly, I can not receive correct data when I try to read from it.

    However, with the BS2 when I use sample BS2 code for the md23, it does respond correctly. telling me the encoder positions, voltage, etc...

    I also converted the BS2 sample code to proton and tried it on my pic's, yeilding the same results as using the proton busin/busout commands.

    I have a hunch that this problem is due to me using the internal 8mhz oscillators, while the BS2 has a external 20mhz. I think the md23 is speaking too quickly for me to receive at 8mhz.

    does anybody have a suggestion of what I could try next?

    I have been trying to build my first external oscillator circuit but am not getting anywhere.
    I have a 11mhz crystal handy and have selected hs as the oscillator source. but even when the crystal is unplugged, my test program is toggling the led.
    I thought that if I used this crystal and selected HSPLL as the source, I would have a quick enough pic to receive the i2c from the md32.

    Thanks,
    Jon

  2. Attention

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  3. #2
    Fanatical Contributor Tim's Avatar
    Join Date
    Jan 2003
    Posts
    7,748
    Thumbs Up
    Received: 51
    Given: 96
    Total Downloaded
    1.32 GB

    0 Not allowed!

    Default

    i2c is a clock controlled coms, where the master (your pic) controls the speed that the data is transferred. So I doubt its anything to do with the speed (I could be wrong!)

    You have given a lot of info but if you can think of any more it might give us a clue, post the BS code and your conversion as well
    Tim

  4. Attention

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  5. #3
    brown
    Guest brown's Avatar

    0 Not allowed!

    Default

    Thanks for the quick reply Tim,

    I managed to get a 21mhz oscillator working. I had to offset the baud to compensate for the 1 mhz difference in the xtal declare.
    here is the 12f683 code that I am using to test the md23:


    Device 12F683
    REMINDERS false
    Config MCLRE_OFF,WDT_OFF, hs_osc 'INTRC_OSC_NOCLKOUT',bod_off
    REMINDERS true
    XTAL 20
    ALL_DIGITAL = true
    'OSCCON.6=1
    'OSCCON.5=1
    'OSCCON.4=1


    SERIAL_BAUD = 9500
    RSOUT_PIN = GPIO.2
    RSIN_PIN = GPIO.3
    RSOUT_MODE = false
    RSOUT_PACE = 100

    SDA_PIN = GPIO.1
    SCL_PIN = GPIO.0

    Dim a As Byte

    main:
    a = BusIn $b0,10 ' get battery voltage eg 124 would 12.4 volts
    RSOut Cls,"The Answer is : ",Dec a
    DelayMS 500
    GoTo main


    this results with a value of 240 but when the BS2 reads it using below code, I get 124

    I also have a srf08 sonic sensor sitting on the i2c bus at the moment, which works ok.

    here is the BS2 code, and following that is my conversion:

    '{$STAMP BS2}
    ' {$PBASIC 2.5}

    '************************************************* **********
    '** **
    '** Demonstration I2C routines for controlling **
    '** the MD23 with a basic stamp, displaying results **
    '** in a PC debug window **
    '** **
    '** Written by Chris Clarke - Aug 2008 **
    '** **
    '************************************************* **********

    enc1a VAR Byte
    enc1b VAR Byte
    enc1c VAR Byte
    enc1d VAR Byte
    enc2a VAR Byte
    enc2b VAR Byte
    enc2c VAR Byte
    enc2d VAR Byte
    bat_volts VAR Byte
    mot1_cur VAR Byte
    mot2_cur VAR Byte
    ver VAR Byte

    SDA CON 3 ' I2C data
    SCL CON 4 ' I2C clock
    SDAin VAR IN3
    SDAout VAR OUT3
    SDAdir VAR DIR3
    I2cBuf VAR Byte ' I2c read/write buffer
    I2cAddr VAR Byte ' Address of I2C device
    I2cReg VAR Byte ' Register number within I2C device
    I2cData VAR Word ' Data to read/write
    I2cAck VAR Bit ' Acknowledge bit

    Mode_reg CON 14
    Version_reg CON 13
    Speed1_reg CON 0
    Speed2_reg CON 1
    Enc1_reg CON 2
    Command_reg CON 16
    ZeroEncs CON 32

    Main:
    I2caddr = $b0
    ver = 255

    DO WHILE (ver = 255)
    DEBUG 2,1,1, "Scanning for md23"
    DEBUG 2,1,2, "address = 0x",HEX I2caddr
    I2cReg = Version_reg 'point the register read at the version
    GOSUB I2CByteRead
    ver = I2cData
    IF(ver = 255) THEN I2cAddr = I2cAddr + 2
    IF (I2cAddr = $c0) THEN I2cAddr = $b0
    PAUSE 100
    LOOP ' Loop forever

    MainLoop:
    I2cReg = Mode_reg 'set mode 0 (actually unnecessary, as its a power-up default
    I2cdata = 0
    GOSUB I2cByteWrite
    I2cReg = Command_reg
    I2cdata = ZeroEncs
    GOSUB I2cByteWrite
    I2cReg = Speed1_reg
    I2cdata = 192 'set motor 1 traveling forwards at half speed
    GOSUB I2cByteWrite
    I2cReg = Speed2_reg
    I2cdata = 64 'set motor 2 traveling backwards at half speed
    GOSUB I2cByteWrite
    DEBUG CLS
    DO WHILE 1
    GOSUB MD23_read_data
    IF(ver = 255) THEN GOTO Main 'it's 255 if there is no response from the MD23 module, so back to address search
    DEBUG 2,1,0, "MD23 address = 0x",HEX I2caddr
    DEBUG 2,1,1,"Motor1 Current ", DEC mot1_cur," "
    DEBUG 2,1,2,"Motor2 Current ", DEC mot2_cur," "
    DEBUG 2,1,3,"Battery Volts ", DEC bat_volts/10,".",DEC bat_volts//10,"V"
    IF (enc1a > 127) THEN DEBUG 2,25,0,"Encoder1 -", HEX 255-enc1a,HEX 255-enc1b,HEX 255-enc1c,HEX 255-enc1d
    IF (enc1a < 127) THEN DEBUG 2,25,1,"Encoder1 ", HEX enc1a,HEX enc1b,HEX enc1c,HEX enc1d
    IF (enc2a > 127) THEN DEBUG 2,25,2,"Encoder2 -", HEX 255-enc2a,HEX 255-enc2b,HEX 255-enc2c,HEX 255-enc2d," "
    IF (enc2a < 127) THEN DEBUG 2,25,3,"Encoder2 ", HEX enc2a,HEX enc2b,HEX enc2c,HEX enc2d," "

    LOOP ' Loop forever

    MD23_read_data: ' grabs all the data I want, note that the I2CByteRead routine increments the register pointer after a read

    I2cReg = Enc1_reg 'point to encoder 1 register, high byte first
    GOSUB I2CByteRead
    enc1a = I2cData
    GOSUB I2CByteRead
    enc1b = I2cData
    GOSUB I2CByteRead
    enc1c = I2cData
    GOSUB I2CByteRead
    enc1d = I2cData
    GOSUB I2CByteRead
    enc2a = I2cData
    GOSUB I2CByteRead
    enc2b = I2cData
    GOSUB I2CByteRead
    enc2c = I2cData
    GOSUB I2CByteRead
    enc2d = I2cData
    GOSUB I2CByteRead
    bat_volts = I2cData
    GOSUB I2CByteRead
    mot1_cur = I2cData
    GOSUB I2CByteRead
    mot2_cur = I2cData
    GOSUB I2CByteRead
    ver = I2cData
    '--------------------------------------------------------------------------------------------
    ' I2C subroutines follow
    '--------------------------------------------------------------------------------------------
    I2cByteWrite: ' writes I2cData to I2cReg at I2cAddr
    GOSUB I2cStart
    I2cBuf = I2cAddr
    GOSUB I2cOutByte ' send device address
    I2cBuf = I2cReg
    GOSUB I2cOutByte ' send register number
    I2cBuf = I2cData
    GOSUB I2cOutByte ' send the data
    GOSUB I2cStop
    RETURN

    I2CByteRead:
    GOSUB I2cStart
    I2cBuf = I2cAddr
    GOSUB I2cOutByte ' send device address
    I2cBuf = I2cReg
    GOSUB I2cOutByte ' send register number
    GOSUB I2cStart ' repeated start
    I2cBuf = I2cAddr | 1
    GOSUB I2cOutByte ' send device address (with read set)
    I2cAck = 0 ' send Nak
    GOSUB I2cInByte
    I2cData = I2cBuf ' read the data
    GOSUB I2cStop
    I2cReg = I2creg + 1 'increment register pointer for next read, so sequential reads can be made if needed
    RETURN

    I2cOutByte:
    SHIFTOUT SDA, SCL, MSBFIRST, [I2cBuf]
    INPUT SDA
    HIGH SCL ' clock in the ack' bit
    LOW SCL
    RETURN

    I2cInByte:
    SHIFTIN SDA, SCL, MSBPRE, [I2cBuf]
    SDAout = 0
    SDAdir = I2cAck
    HIGH SCL ' clock out the ack' bit
    LOW SCL
    INPUT SDA
    RETURN

    I2cStart: ' I2C start bit sequence
    HIGH SDA
    HIGH SCL
    LOW SDA
    LOW SCL
    RETURN

    I2cStop: ' I2C stop bit sequence
    LOW SDA
    HIGH SCL
    HIGH SDA
    RETURN



    --and my conversion:

    Device 12F683
    REMINDERS false
    Config MCLRE_OFF,WDT_OFF,INTRC_OSC_NOCLKOUT',bod_off
    REMINDERS true
    XTAL 8
    ALL_DIGITAL = true
    OSCCON.6=1
    OSCCON.5=1
    OSCCON.4=1
    SERIAL_BAUD = 9600
    RSOUT_PIN = GPIO.2
    RSIN_PIN = GPIO.3
    RSIN_MODE = true
    RSOUT_MODE = false
    RSIN_TIMEOUT = 1000
    RSOUT_PACE 100
    enc1a VAR Byte
    enc1b VAR Byte
    enc1c VAR Byte
    enc1d VAR Byte
    enc2a VAR Byte
    enc2b VAR Byte
    enc2c VAR Byte
    enc2d VAR Byte
    bat_volts VAR Byte
    mot1_cur VAR Byte
    mot2_cur VAR Byte
    ver VAR Byte

    SDA CON GPIO.5 ' I2C data
    SCL CON GPIO.4 ' I2C clock
    SDAin VAR GPIO.5
    SDAout VAR GPIO.4
    SDAdir VAR Byte
    I2cBuf VAR Byte ' I2c read/write buffer
    I2cAddr VAR Byte ' Address of I2C device
    I2cReg VAR Byte ' Register number within I2C device
    I2cData VAR Word ' Data to read/write
    I2cAck VAR Bit ' Acknowledge bit

    Mode_reg CON 14
    Version_reg CON 13
    Speed1_reg CON 0
    Speed2_reg CON 1
    Enc1_reg CON 2
    Command_reg CON 16
    ZeroEncs CON 32

    Main:
    I2caddr = $b0
    ver = 255
    ver=255
    While ver = 255
    Debug 2,1,1, "Scanning for md23"
    Debug 2,1,2, "address = 0x",HEX I2caddr
    I2cReg = Version_reg 'point the register read at the version
    GoSub I2CByteRead
    ver = I2cData
    If ver = 255 Then I2cAddr = I2cAddr + 2
    If I2cAddr = $c0 Then I2cAddr = $b0
    PAUSE 100
    Wend ' Loop forever

    MainLoop:
    I2cReg = Mode_reg 'set mode 0 (actually unnecessary, as its a power-up default
    I2cdata = 0
    GoSub I2cByteWrite
    I2cReg = Command_reg
    I2cdata = ZeroEncs
    GoSub I2cByteWrite
    I2cReg = Speed1_reg
    I2cdata = 128'192 'set motor 1 traveling forwards at half speed
    GoSub I2cByteWrite
    I2cReg = Speed2_reg
    I2cdata = 128'64 'set motor 2 traveling backwards at half speed
    GoSub I2cByteWrite
    Debug Cls
    While 1 = 1
    GoSub MD23_read_data
    If ver = 255 Then GoTo Main 'it's 255 if there is no response from the MD23 module, so back to address search
    Debug 2,1,0, "MD23 address = 0x",HEX I2caddr
    Debug 2,1,1,"Motor1 Current ", Dec mot1_cur," "
    Debug 2,1,2,"Motor2 Current ", Dec mot2_cur," "
    Debug 2,1,3,"Battery Volts ", Dec bat_volts/10,".",Dec bat_volts//10,"V"
    If enc1a > 127 Then Debug 2,25,0,"Encoder1 -", HEX 255-enc1a,HEX 255-enc1b,HEX 255-enc1c,HEX 255-enc1d
    If enc1a < 127 Then Debug 2,25,1,"Encoder1 ", HEX enc1a,HEX enc1b,HEX enc1c,HEX enc1d
    If enc2a > 127 Then Debug 2,25,2,"Encoder2 -", HEX 255-enc2a,HEX 255-enc2b,HEX 255-enc2c,HEX 255-enc2d," "
    If enc2a < 127 Then Debug 2,25,3,"Encoder2 ", HEX enc2a,HEX enc2b,HEX enc2c,HEX enc2d," "

    Wend ' Loop forever

    MD23_read_data: ' grabs all the data I want, note that the I2CByteRead routine increments the register pointer after a read

    I2cReg = Enc1_reg 'point to encoder 1 register, high byte first
    GoSub I2CByteRead
    enc1a = I2cData
    GoSub I2CByteRead
    enc1b = I2cData
    GoSub I2CByteRead
    enc1c = I2cData
    GoSub I2CByteRead
    enc1d = I2cData
    GoSub I2CByteRead
    enc2a = I2cData
    GoSub I2CByteRead
    enc2b = I2cData
    GoSub I2CByteRead
    enc2c = I2cData
    GoSub I2CByteRead
    enc2d = I2cData
    GoSub I2CByteRead
    bat_volts = I2cData
    GoSub I2CByteRead
    mot1_cur = I2cData
    GoSub I2CByteRead
    mot2_cur = I2cData
    GoSub I2CByteRead
    ver = I2cData
    '--------------------------------------------------------------------------------------------
    ' I2C subroutines follow
    '--------------------------------------------------------------------------------------------
    I2cByteWrite: ' writes I2cData to I2cReg at I2cAddr
    GoSub I2cStart
    I2cBuf = I2cAddr
    GoSub I2cOutByte ' send device address
    I2cBuf = I2cReg
    GoSub I2cOutByte ' send register number
    I2cBuf = I2cData
    GoSub I2cOutByte ' send the data
    GoSub I2cStop
    Return

    I2CByteRead:
    GoSub I2cStart
    I2cBuf = I2cAddr
    GoSub I2cOutByte ' send device address
    I2cBuf = I2cReg
    GoSub I2cOutByte ' send register number
    GoSub I2cStart ' repeated start
    I2cBuf = I2cAddr | 1
    GoSub I2cOutByte ' send device address (with read set)
    I2cAck = 0 ' send Nak
    GoSub I2cInByte
    I2cData = I2cBuf ' read the data
    GoSub I2cStop
    I2cReg = I2creg + 1 'increment register pointer for next read, so sequential reads can be made if needed
    Return

    I2cOutByte:
    SHIFTOUT SDA, SCL, msbfirst, [I2cBuf]
    Input SDA
    High SCL ' clock in the ack' bit
    Low SCL
    Return

    I2cInByte:
    SHIFTIN SDA, SCL, msbpre, [I2cBuf]
    SDAout = 0
    SDAdir = I2cAck
    High SCL ' clock out the ack' bit
    Low SCL
    Input SDA
    Return

    I2cStart: ' I2C start bit sequence
    High SDA
    High SCL
    Low SDA
    Low SCL
    Return

    I2cStop: ' I2C stop bit sequence
    Low SDA
    High SCL
    High SDA
    Return

    ----
    I only altered a couple of things.

    Like you mentioned, changing the oscillator speed didn't help.
    I found a post via google saying something about i2c clock stretching interfereing? I never heard of that before..
    Regards,
    Jon

  6. Attention

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  7. #4
    Fanatical Contributor Tim's Avatar
    Join Date
    Jan 2003
    Posts
    7,748
    Thumbs Up
    Received: 51
    Given: 96
    Total Downloaded
    1.32 GB

    0 Not allowed!

    Default

    This is not a Proton problem as you are using no Proton i2c commands.

    Why are you writing low level i2c commands when there are a whole host of i2c commands built in?
    Tim

  8. Attention

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  9. #5
    brown
    Guest brown's Avatar

    0 Not allowed!

    Default

    I used the busin command which is proton. at the top of my last post:
    "a = BusIn $b0,10 ' get battery voltage eg 124 would 12.4 volts"
    The other program is parallax basic, I thought you asked to see it too.
    "post the BS code and your conversion as well "
    I have only used the busin and busout commands for all my I2C and it always works, until now.
    I don't know how to use the other i2c commands in proton since busin & busout are so easy and work great, except this time.

    If I wanted to request a byte from register 10 of the device $b0, could you show how else it would be done?
    Regards,
    Jon

  10. Attention

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  11. #6
    Fanatical Contributor Tim's Avatar
    Join Date
    Jan 2003
    Posts
    7,748
    Thumbs Up
    Received: 51
    Given: 96
    Total Downloaded
    1.32 GB

    0 Not allowed!

    Default

    Sorry I did not see that bit at the top just the conversion

    I think its because your using a constant as the register address Proton always sends a word address if you use a constant

    The work around is to make the address as byte and send that or else do it using your own i2c in parts

    dim RegAddress as byte

    RegAddress = 10
    a = BusIn $b0,RegAddress
    Tim

  12. Attention

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  13. #7
    brown
    Guest brown's Avatar

    0 Not allowed!

    Smile

    it works!

    Tim, I tried doing what you said and got a different result but it wasn't correct still.


    here is what I had to do:


    DelayMS 1000
    RSOut "START.",10,13


    main:

    BStart
    BusOut %10110000 ' this is Device $B0 - write command
    BusOut 10 ' Register 10 is Battery Voltage
    BREStart
    BusOut %10110001 ' this is Device $B0 - read command
    BusAck
    a = BusIn
    BStop
    RSOut "bat: ",Dec a,13,10
    DelayMS 300

    BStart
    BusOut %10110000
    BusOut 13 'Register 13 is Device Software Revision
    BREStart
    BusOut %10110001
    BusAck
    a = BusIn
    BStop

    RSOut "rev: ",Dec a,13,10

    delayms 2000
    goto main

    So I get a Battery voltage result of 124, 12.4 Volts
    and Revision 3

    Can this code be simplified or made to be easier to read?
    Thanks,
    Jon

  14. Attention

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  15. #8
    Fanatical Contributor Tim's Avatar
    Join Date
    Jan 2003
    Posts
    7,748
    Thumbs Up
    Received: 51
    Given: 96
    Total Downloaded
    1.32 GB

    0 Not allowed!

    Default

    That looks ok to me!

    If it bothers you looking at it then put it in a sub out of view and call it

    i2Creg = x
    gosub myi2creadB ; read a byte
    myvar = I2cdata

    i2Creg = x
    gosub myi2creadw ; read a byte
    myvar = I2cdata

    Or you could use a macro

    Modify to suit

    Code:
    I2CEread Macro  P1
    #if (Prm_Count > 1)
        #error "I2CEread - Too many parameters"
    #else
        #if (Prm_Count < 1)
            #error "I2CEread - Too few parameters"
        #else
            #if(Prm_1 != Byte) && (Prm_1 != Num8) && (Prm_1 != Num16) && (Prm_1 != Num32)
                #error "I2CEread - I2cAddress(Param1) Should be a Byte variable or number"
            #endif
            #if (Prm_1 == Byte)
                BYTE_BYTE P1, I2cAddressVar
            #endif
            #if (Prm_1 == Num8)
                NUM_BYTE P1, I2cAddressVar
            #endif
            #if (Prm_1 == Num16)
                NUM_BYTE P1, I2cAddressVar
            #endif
            #if (Prm_1 == Num32)
                NUM_BYTE P1, I2cAddressVar
            #endif
            GoSub I2cEepromRead
        #endif
    #endif
    #if (I2CEread_RETURN != 1)
        #error "I2CEread - Mandatory return parameter misssing"
    #else
        #if(Return_Type != Byte) && (Return_Type != Word) && (Return_Type != Dword) && (Return_Type != Float)
            #error "I2CEread - Return variable should be a Byte variable or number"
        #else
            #if (Return_Type == Byte)
                BYTE_BYTE I2cReadVar, Return_Var
            #endif
        #endif
    #endif
    Endm
    
    I2cEepromRead:
        IntsOff
        BStart
        BusOut I2CControlWrite
        BusOut I2cAddressVar
        BStart
        BusOut I2CControlRead
        I2cReadVar = BusIn
        BStop        
        Return
    Tim

  16. Attention

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Similar Threads

  1. Replies: 22
    Last Post: 1st February 2018, 16:10
  2. DRV10970 DRV10975 Three-Phase Brushless DC Motor Driver
    By normnet in forum New devices and techniques
    Replies: 0
    Last Post: 30th April 2016, 04:28
  3. Brushless sensored DC motor Driver
    By basparky in forum Proton Plus Compiler v3
    Replies: 13
    Last Post: 18th January 2013, 07:37
  4. no i2c communication at 12+ mhz
    By brown in forum Proton Plus Compiler v3
    Replies: 6
    Last Post: 4th June 2009, 03:59
  5. two pics i2c communication
    By pdehelly in forum Proton Plus Compiler v3
    Replies: 0
    Last Post: 27th September 2005, 23:06

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts