Search the Community

Showing results for tags 'DriverLib'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • 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


  • Community Calendar

Found 7 results

  1. Energia and Arduino users eventually get to the point where they need more direct access to the hardware if they take on more complicated projects. In addition to the direct access of registers using the provided header files, TI offers DriverLib which contains abstractions for accessing the peripherals. To better understand the peripherals, and to check out DriverLib, I recently created 20+ short examples for my own edification. All of them were written for the MSP430F5529 LaunchPad and most of the peripherals are covered. In some cases pushbuttons, LEDs, resistors, potentiometer, etc. are required that you probably have on hand. A multimeter is required, and in some cases an oscilloscope and logic analyzer are instructive but not necessary. DriverLib SPI Example 13A_USCI_B_SPI_MCP41010_digiPot All of the examples are located here: It is necessary to have some understanding of the registers before using DriverLib because the DriverLib documentation doesn't describe how the peripherals and their registers work. The documentation for registers is located in the User
  2. For those who may not have seen it, the black LaunchPads with Rev B pre-release MCU are being phased out. New red LaunchPads with a revision C production device are replacing it. The announcement in e2e is located here. There is information on timing and compatibility with CCS located here. A quote from the second link: TI recommends that you update all hardware and software be updated to latest Revision C devices. Support for MSP432P401R on CCS cloud ( and via MSP432Ware have been updated to match Revision C devices. Pre-production Revision C samples can be ordered online and an updated LaunchPad using XMS Revision C silicon is also available online. There is a note at the bottom of the compatibility table that Rev B will be removed from device support packages in 2017.
  3. I am starting to use CCS and C more, Energia less. Currently I'm taking a TI workshop that tends to use driverlib rather than more more direct access to the registers. I notice that a lot (most I guess) code on 43oh accesses the registers directly. TI touts readability as the reason to use driverlib. It is bound to add some overhead. It is supposed to aid portability among TI products. I'm trying to develop good programming habits. How do others feel about using driverlib?
  4. Hello, I want to connect my MSP-EXP430F5529LP ("MSP430") LaunchPad to an external device via I2C. Which I2C port should I use? (1) The MSP430 Quick Start Guide (slau536.pdf) includes a diagram of the BoosterPack connector showing two sets of I2C ports: -set#1- I2C - SCL - PM_UCB1SOMI - PM_UCB1SCL - P4.2 I2C - SDA - PM_UCB1SIMO - PM_UCB1SDA - P4.1 -set#2- UCB0SDA - UCB0SIMO - P3.0 UCB0SCL - UCB0SOMI - P3.1 (2) I am using the sample project, usci_b_i2c_ex3_masterTxSingle.c. MSP430ware->Libraries->Driver Library->MSP430F5xx_6xx->Example Projects->USCI_B_I2C->usci_b_i2c_ex3_masterTxSingle The source file references "USCI_B0_Base" throughout (and not "USCI_B1_Base"). Question: Should I use SCL on P4.2 and SDA on P4.1 and change all software to "USCI_B1_Base"? Question: Or should I use SCL on P3.1 and SDA on P3.0 and use "USCI_B0_Base"? If I do, do I configure the pinmux? How would I do that? It seems to me that the sample project is assuming that the I2C is connected to UCB0 (and not UCB1), but the MSP430 LaunchPad, in its standard configuration, is using UCB0 for I2C. I appreciate any help from the community! ElectricCowboy
  5. Hello, as I was studying the (extremely good written!) driverlib documentation, i noticed the SysCtlPeripheralReady function. Because it is not always clear which Timer (TIMER,WTIMER,WATCHDOG) is currently in use (many of them are used with PWM and other stuff), I wrote this little helper sketch for my Tiva C. The definitions for other peripheral can be read in "sysctl.h", I only used the timers to keep it short. I also included the SysCtlPeripheralPresent function, but I think it is meant, that a peripheral is physically available, so the "ready" function is the key. Try it out with some line of code with PWM stuff (with different pins) for example and see the difference! /* Little timer state helper no (c) by Matthias Diro */ #include <stdint.h> #include <stdbool.h> #define PART_TM4C123GH6PM #include "inc/tm4c123gh6pm.h" #include "driverlib/sysctl.h" void setup() { Serial.begin(9600); } void loop() { Serial.println("---Timertest---"); Serial.println("***Timer***"); for (int x=0;x<=5;x++) { Serial.print("Timer: "); Serial.print(x); Serial.print(" present: "); Serial.print(SysCtlPeripheralPresent(4026532864+x)); Serial.print(" ready: "); Serial.println(SysCtlPeripheralReady(4026532864+x)); } Serial.println("***WTimer***"); for (int x=0;x<=5;x++) { Serial.print("WTimer: "); Serial.print(x); Serial.print(" present: "); Serial.print(SysCtlPeripheralPresent(4026555392+x)); Serial.print(" ready: "); Serial.println(SysCtlPeripheralReady(4026555392+x)); } Serial.println("***Watchdogs***"); for (int x=0;x<=1;x++) { Serial.print("Watchdog: "); Serial.print(x); Serial.print(" present: "); Serial.print(SysCtlPeripheralPresent(4026531840+x)); Serial.print(" ready: "); Serial.println(SysCtlPeripheralReady(4026531840+x)); } Serial.println(); while(1); } Maybe this little code helps some of you! Regards Matthias
  6. It was only after looking at some examples for the F5529 LaunchPad that I came across TI's DriverLib. Odd that I've never seen it mentioned before. Is anyone using it? Is it worth getting familiar with it or should I just stick with dealing with registers directly? I'm tempted to give it a go as there's a lot more to the F5529 with USB. Also at my skill level adapting sample code will get me going quicker that doing everything from scratch. However, I've so little free time that I don't want to waste it get to know yet another framework / library if it's not going to be that useful.
  7. During the workbook and some own created test I notice that I have an lib thats build in debug mode. Thanks to the answer there and collecting the reading stuff, I did read a little about the ROM_xxxx, MAP_xxxx. Anyway, I still would like to have the driverlib release build. Specialy during development, can allways later change the calls to ROM_functions. Is there a way, (a tut), to build this under window's. Knows a little about make and the makefiles under windows. Found some make stuff from arround 2003. Did found also at TI the BSD licened LM4 makefiles. Don't have linux but do have osx, but would like to have it all on one ( win ) platform. There is a lot to read, and still orientating, but would like to be fruitfull asap. Thank you.