Work fast with our official CLI. Learn more. If nothing happens, download GitHub Desktop and try again. If nothing happens, download Xcode and try again. If nothing happens, download the GitHub extension for Visual Studio and try again.

Skip to content. Branches Tags. Nothing to show. Go back. Launching Xcode If nothing happens, download Xcode and try again. Latest commit. Git stats 4 commits. Failed to load latest commit information. View code. Naturally all web links and filenames are subject to change, they are maintained by ti or others. The MSP is a processor and chips that ti has used for a long time, their processor. Like many similar products from various vendors this board contains two microcontrollers, one is on the debug end of the board, we dont write software for that one, that one gets us access to the second MCU which we do write software for.

Note ARM makes processor cores not chips, ti makes this chip. Since most of the code we write for these chips is manipulating the non-ARM logic it makes the most sense when talking about or asking questions to use ti chip terminology MSPPR rathe than Cortex-M4. If the question or conversation is specifically about things in the Cortex-M4, then that term would make sense. Also note that not all Cortex-M4's are identical, ARM may have compile time options that the chip vendor may use and another may not, so what you learn about this specific Cortex-M4 may not exactly match another.

This repository was created on a Linux machine using Linux based commands. Should be easy for you as a programmer to take what is here and use it on a Mac or Windows PC. The approach I am going to take with these examples is I am going to provide a simple uart based bootloader, that you will program on the application user flash through which you can then use to program the rest of the examples into another area of the flash.

S10 bitdownload ir

The bootloader will example a user button on the board, if pressed when power comes on or reset is released, it will go into bootloader mode, if not pressed then it will branch to the application. While many folks design their MCU products with a bootloader in this fasion, many others do not, the application is loaded at the reset entry point.

Some chip vendors, like ti on this chip, have bootloaders they provide that can be used for in circuit programming as well. I recommend you push the hardware design team for some solution that allows you to at least reprogram the firmware on the chip in circuit, ideally without the need for a soldering iron or other solder melting device.

A clip or connector solution.

Mazda cx 5 liftgate fuse

My two cents We are using openocd to get at the on chip debugger through which we can gain access to the ARM bus from which we can do anything the ARM can do, talk to the peripherals, write programs into the flash or into ram and then run them. Back in the early flash memory days when they were parallel interfaces likely on an external chip from intel, all a debugger needed to know was what is the base address in the processors address space for this flash.Forums New posts Search forums.

Articles Top Articles Search resources. Members Current visitors. Log in Register. Search titles only.

Easy Embedded Systems Learning with TI MSP432

Search Advanced search…. New posts. Search forums. Log in. Welcome to our site! Electro Tech is an online community with overmembers who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now. JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.

Alejo96 New Member. The sequence is the one that appears in the image and when it arrives to the 6th state it starts over going to the 1rst state and so on. The code I wrote for this is the following one, but I know it has problems and if someone could help me understand what should I do and how to do it in a properly way, I would be really grateful!

Alejo96 said:. Hi all, my aim is to control a driver of a brushless motor by using 6 pins that come directly from 6 pins of my microcontroller. You mean that you will control mosfets from your micro to the motor, don't you?

How, when doing this like your attempting, will you determine rotor position?

msp432p401r examples

The rotor position is needed to know what coils to turn on and when. They also have a BLDC development board that has a sample program. MaxHeadRoom78 said:. You must log in or register to reply here. Latest threads H. General Electronics Chat.

Hardware Demo of a Digital PID Controller

What are these? Started by billybob Yesterday at PM Replies: 5. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.There are two compilers that can be used for these labs. Both development systems support ARM assembly and C99 programming, and both have full-featured debuggers. Here at the University of Texas we use Keil uVision because it is very simple to learn and to use.

It is an Eclipse-based software development tool, so if you are familiar with Eclipse or wish to learn it, CCS is recommended. We are really sorry, but there are no solutions for Linux. The Lite version of Keil application does not require a serial number or license key. Set your device to MSP You will need to install the service pack for the MSP It should not cost any money if you develop software for the MSP TI does provide support for CCS via its e2e forum.

Example projects and Windows drivers are available from TI. These examples are written in a professional style where the objective is reliable execution, fast prototyping, and portability. My style for the code in these books is extremely different. The objective of the my software is understanding what the code does and how the code works.

I strongly encourage you to view both styles. I suggest you use my code to learn how the microcontroller works, but use the TI code when developing large professional systems. Search for the MSP projects and driverlib. Example projects from the books are available for download. Plugging the board in for the first time will automatically install the windows drivers for the board.

You will need the actual physical LaunchPad board to complete this step. ZIP file below.

British seagull modifications

Go to Valvano's home page.You can make use of multi-tasking in your Energia sketches and automatically enter low power modes when idle.

Learn more about MT! This hardware is open source! Note: the lighter colors indicate no connects. Click the image to view a larger version of the image. Drivers may or may not be required in order to start using this LaunchPad. Download and open Energia on your system. If you have not already done so, follow the instructions for your operating system to install the drivers here:. Corrections, suggestions, and new documentation are very welcomed.

They can be contributed to the energia website repository on Github. The text of the Energia getting started and reference guides are licensed under a Creative Commons Attribution-ShareAlike 3.

Code samples in the guide are released into the public domain. The Energia language comes from Wiring. The Energia environment is based on Processing and includes modifications made by Wiring and Arduino. Main Headers. J5 Extention Header. Installing the drivers Drivers may or may not be required in order to start using this LaunchPad.

Getting Started Video.Python flasher and gdb server for various ARM debug probes. A repository that demonstrates how to integrate ROS with Qt. Final project showcasing skills learned from Advanced Microprocessors course. This project is developed for Thomas Johann Seebeck electronics institute of Tallinn University of Technology at Estonia as a Bluetooth Low Energy communication solution between Android smart device and Texas Instruments microcontroller combination.

Website to the thesis work with full review is in the "Website" part. Motor initializes and starts spinning if not connected to controller. Radio has to be on for it to stop spinning. Add a description, image, and links to the msp topic page so that developers can more easily learn about it. Curate this topic. To associate your repository with the msp topic, visit your repo's landing page and select "manage topics.

Learn more. Skip to content. Here are 43 public repositories matching this topic Language: All Filter by language. Sort options. Star 2k. Code Issues Pull requests. Updated Mar 16, C. Star Code Issues Pull requests Discussions.

Updated Mar 18, C.

msp432p401r examples

Updated Jan 25, C. Updated Apr 2, Processing. Star 5. Updated Jan 16, Batchfile. Star 4.Add the following snippet to your HTML:. Read up about this project on.

MSP432P401R Brushless motor DC

Learn the complexity of ARM microcontrollers using portable and low cost hardware. Embedded Systems and Microprocessors are required courses in the Electrical and Computer Engineering curriculum.

In the past this involved lab exercises that require expensive training kits and specialized software IDEs. Today we are much more fortunate to have accessible and affordable hardware kits and free software development tools.

This tutorial will guide you though the use of the MSP LaunchPad as a standard platform for teaching and learning microcontroller based embedded systems. Student owned hardware is a possibility thanks to the LaunchPad, which has many features including an integrated debugger with USB connection, prototyping headers both male and female, and free IDE options like Code Composer Studio and Energia.

The LaunchPad can be paired with additional hardware to enhance the learning experience around the MCU peripherals.

msp432p401r examples

The BoosterPack is in a gamepad style form factor which means it is great for projects that require a controller or for creating 2D games on the included color LCD using the sensors and button inputs. This is an industry skill needed for many types of design positions. To start off the workshop we will load up the out of box demo code from Code Composer Studio Cloud.

CCS cloud is a full development environment that you can run directly from your browser Chrome recommended.

Drc dc6 manual

CCS Cloud and CCS Desktop are good options for more serious development and are integrated with many resources and documentation from TI for both the hardware and software. You can also manually install the drivers using the instructions on the Energia website or get the drivers when installing the desktop version of Code Composer Studio. Go to dev. If you don't have a myTI account already, you can register for one and then sign in. If you do have one, go ahead and sign in and CCS Cloud will load your virtual workspace.

Your work will be saved and you can access it whenever you log back in with your TI account. You can also download any of your work to your local machine or upload to GitHub.

You should get a work environment to pop up similar to the image below. If so we are doing well. Now we need to get our demo code. We can find demo code in the TI Resource explorer. Resource explorer contains all the released code examples and many other helpful technical resources for all TI embedded processors from microcontrollers to DSPs. Next navigate back to dev. You should arrive to a page like this.

We can search for our board by part number by typing "MSP" and it should come up for us. You can also use the left hand navigation and search by device family.

You can click on the package picker in the upper right square icon next to the home icon. Now you know if you'd like to go back to a previous version of the SDK you can use the Package Picker to customize the versioning.

On the right hand side on the top line above "main. Click that and it should open the project in your CCS Cloud workspace. As you can see you have many options to use different compilers and to utilize a Real Time Operating System or not. You can have main. Now we are going to upload this to our LaunchPad board. To run our program on the hardware we are going to click the green play button that says "Run" at the top toolbar.As a follow up to my post on MSP printf functionalitythis is a write-up of my notes on using the serial modules on the MSP As each of the two modules support multiple protocols, you might not need to use all of the pins when you're using one of the modules.

So you'd only be using P1. In fact, these are exactly the two pins you're using when you're communicating with your PC over UART as described in my previous post! So now you know which pins to use, but how do you actually configure and use them? A word of warning first though: on the MSP launchpad, not all the eUSCI modules have pins exposed on the launchpad, so first check that the module you want has the relevant pins exposed on the launchpad.

To configure the serial modules you have two choices; either read the family guide and toggle bits in all of the configuration registers manually or let TI do the heavy heavy lifting and use their driverlib. The driverlib is good but can be frustrating to use as the documentation provided is fairly minimal and you need to have an idea of what you're looking for first.

The process should be similar for any serial chip that you want to interface with your MSP though!

msp432p401r examples

First thing first, we want to put the pins in UART mode. The pins we're specifically interested in are P3. To do this, we need to look at the datasheet again and find where the pin functions are defined. The following picture is an excerpt from page of the datasheet. So for both pins, it doesn't matter if we set them to an output or an input when configuring them for UART.

The next picture is an excerpt from page of the family guide. Now we have all the information we need to set the pins up in UART mode! For no reason whatsoever, I'll use the output variant. The result is the following line of code:. The next thing to do is to define a eUSCI config. This is basically from the TI provided examples. Luckily, once again TI have provided a tool to do this. This tool finds the optimal way of prescaling and modulating the clock source you're using to achieve your desired baud rate.

More information about this process is on page of the family guide. Using the tool with a clock of 12MHz and baud rate of Hz, gives a clockPrescalar of 78, a firstModReg of 2, a secondModReg of 0 and oversampling turned on. Converting this into a config, we get the following:. Now, to use that config to initialise the module using driverlib:. This sets all the relevant registers to achieve the configuration earlier specified. If you're really interesting in understanding what exactly this is doing, it's worth reading the family guide.

Now that the module is intialised, it can finally be enabled on!

MSP432 Lab1 Introduction

Hopefully that's helpful in understanding a little bit about configuring the serial modules on the MSP If you have a question or just want to yell at me for getting something completely wrong, don't hesitate to reach out. If there's interest in learning more about the MSP's serial, in particular setting up and using interrupts, let me know.

Sam Lewis. Enjoyed this and want to hear about new posts?