MSP432入门开发——个人见解
本人是电信专业大二学生,因准备2020TI杯模拟电子设计大赛选用MSP432作为我们小队参赛入门的主控芯片。
我平时喜欢做些电子制作一类,也挺喜欢嵌入式开发。以前玩过STM32,有点小硬件基础。所以MSP432上手挺快的。
关于MSP432,其实网上的资料很少。我再这里特别推荐大家看TI的软件包SDK,非常详细,实例丰富。
在TI的MSP432软件包里,有常用硬件DriverLib和TIDriver这两大库(寄存器调用不是很实用,对于新手而言)。我在开发的时候全都是用TIDrivers这一层驱动的。为什么?首先,TIDriver提供一套GUI硬件配置,就是用图形界面就能配置好你需要的GPIO,UART,IIC之类的,非常简单。第二,TIDriver可以在MSP的任意一套开发板中使用,而无需修改任何代码,可移植性非常高,移植成本为0。这可以大大减少我们程序开发时间。第三,TIDriver有一套Academy入门培训资料,非常好,能够非常快速让你入门。
关于MSP432程序设计,我全都是从移植TI官方提供的例程中更改所得,所以程序结构非常标准。TI的例程中注释代码很详细,所以通过例程进行开发是一个不错的方法。
工欲善其事必先利其器,在软件开发中,选择一个好的开发平台很重要。我以前STM32是在Keil里进行的,后来听同学说用CubeMX+Keil,后来用CubeIDE开发。你会发现,随着版本的更新迭代,软件平台是越来越智能和方便。在我们的MSP中,也是如此。TI官方推荐Keil,IAR和CCS(主推)。我使用CodeCompserStudio10.0开发后觉得其非常方便,小工具特别多而且常用小工具放在特别明显的位置,很好找。常用的有观察内存,打开终端串口等待。所以CCS是一个不错的选择。
关于MSP432的入门,我这里有一个技能树,供大家参考。先了解MSP432软件架构格式,然后再把所有能运行例程都运行一遍,就可以了解相关概念。然后从通用输入输出GPIO入手,试着点亮一个LED,试着使用按键作为系统输入,掌握好定时器和中断的概念。然后可以了解下常用的单片机通信IIC,SPI和UART,然后淘宝上买一点小模块自己试着和MSP432通信。刚开始的时候主要是移植人家淘宝卖家的代码,当你对通信协议比较清楚之后,可以不看卖家提供的例程,自己只看DataSheet尝试完成通信。大家可以先做一个OLED显示屏的实验,作为通信协议的入门。当你能够熟悉的移植或者自己编写相关程序后,那么你对MSP432就算入门了。
之后就是研究操作系统,数据处理等一系列问题。
所以我在学习的时候就是多动手,多运行程序,等到自己出现问题后查阅相关帮助文档。希望能给大家启发。
本人也很菜,希望大家能够一起进步,一起学习。我的所有程序应该都会上传到GitHub上,大家有需要可以下载看看。我个人建议大家自己亲自移植,不要看我的程序,你可以比如根据商家提供的51或者stm32的程序,你把它移植到MSP432上,这就很好,这就算你入门了。
大家一起进步!