Jump to content
Forum sending old emails Read more... ×

Search the Community

Showing results for tags 'drivelib'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • News
    • Announcements
    • Suggestions
    • New users say Hi!
  • Spotlight!
    • Sponsor Spotlight
    • Sponsor Giveaways
  • Energia
    • Energia - MSP
    • Energia - TivaC/CC3XXX
    • Energia - C2000
    • Energia Libraries
  • MSP Technical Forums
    • General
    • Compilers and IDEs
    • Development Kits
    • Programmers and Debuggers
    • Code vault
    • Projects
    • Booster Packs
    • Energia
  • Tiva-C, Hercules, CCXXXX ARM Technical Forums
    • General
    • SensorTag
    • Tiva-C, Hercules, CC3XXX Launchpad Booster Packs
    • Code Vault
    • Projects
    • Compilers and IDEs
    • Development Kits and Custom Boards
  • Beagle ARM Cortex A8 Technical Forums
    • General
    • Code Snippets and Scripts
    • Cases, Capes and Plugin Boards
    • Projects
  • General Electronics Forum
    • General Electronics
    • Other Microcontrollers
  • Connect
    • Embedded Systems/Test Equipment Deals
    • Buy, Trade and Sell
    • The 43oh Store
    • Community Projects
    • Fireside Chat
  • C2000 Technical Forums
    • General
    • Development Kits
    • Code Vault
    • Projects
    • BoosterPacks

Calendars

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Location


Interests


Sparkfun


Github

Found 1 result

  1. Hi, I posted a question on e2e but I found interesting to ask here too. I'm trying to port the Adafruit MCP4725 library to MSP430 using the Driverlib. I'm testing with launchpad EXP43FR2433 running at 1MHz and I would not want to use interruption to keep the code more portable. The sequence to write some value on DAC is relatively simple. - Set address -> send start -> send write cmd -> send upper byte -> send lower byte -> send stop. Using the following code one byte of the value is lost. msp43x_I2C_setSlaveAddress(EUSCI_B0_BASE, _i2caddr); msp43x_I2C_masterSendStart(EUSCI_B0_BASE); msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, controlBits); // write cmd msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, dataBits / 16); // Upper data bits (D11.D10.D9.D8.D7.D6.D5.D4) msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, (dataBits % 16) << 4); // Lower data bits (D3.D2.D1.D0.x.x.x.x) msp43x_I2C_masterMultiByteStop(EUSCI_B0_BASE); But if I insert some dummy code (__delay_cycles) the transmission starts to work. #define I2C_Delay 5 msp43x_I2C_setSlaveAddress(EUSCI_B0_BASE, _i2caddr); __delay_cycles(I2C_Delay); msp43x_I2C_masterSendStart(EUSCI_B0_BASE); __delay_cycles(I2C_Delay); msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, controlBits); // write cmd __delay_cycles(I2C_Delay); msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, dataBits / 16); // Upper data bits (D11.D10.D9.D8.D7.D6.D5.D4) __delay_cycles(I2C_Delay); msp43x_I2C_masterMultiByteNext(EUSCI_B0_BASE, (dataBits % 16) << 4); // Lower data bits (D3.D2.D1.D0.x.x.x.x) __delay_cycles(I2C_Delay); msp43x_I2C_masterMultiByteStop(EUSCI_B0_BASE); __delay_cycles(I2C_Delay); Someone knows what's happening? It looks like the library is not checking if the transmission was correctly performed. Thanks
×