从下节课开始,我们将要开始学习TI的MSP430系列单片机,它与Arduino相比,有更高的运行速度、更大的内存、更多的引脚以及更多的功能。首先是开发环境的配置。
TI所有系列单片机都可以用一个名为CCS(Code Composer Studio)的IDE进行开发,所以只要熟悉了MSP430的开发与调试步骤,就可以顺利地过渡到TI其他系列单片机的开发。本文除了介绍CCS外,还将对如何使用VScode进行项目开发进行介绍,利用其自动补全功能可以给编写程序带来极大的便利。
Part I CCS
Step1.下载CCS并安装:
下载地址:http://processors.wiki.ti.com/index.php/Download_CCS#Download_the_latest_CCS
下载最新版的就可以了,不需要与截图一致
安装过程:正常安装即可,以下只说需要注意的
关于CCS安装时由于中文用户名导致的安装错误,可以通过以下方法解决(使用注册表硬改用户名,win10家庭版也适用):
https://blog.csdn.net/weixin_44912787/article/details/101167806
安装目录可以在其他盘,但是目录名最好是全英文 就选MSP430即可,其他的以后要用再装Step2.工作路径设置
自己创建一个文件夹,工作路径也要全英文!
English! English! English! 主页面介绍Step3.文件准备
由于一些奇妙的原因,ResourceExplorer常常打不开,不过可以通过这个地址进入到TI的资源检索页进行检索:http://dev.ti.com/tirex/#/,速度都有点慢,可以借助一些工具进行加速,不在本文介绍范围之内。将我们所要查找的芯片/开发板信号输入搜索框就能得到关于这个期间的所有资料,下图以我们所要使用的MSP430F5529为例。查找到相应元件会跳转到这对应的页面,资料应有尽有,从原理图、数据手册、用户手册到示例代码。我们主要需要的是芯片与开发板的原理图(管脚接法)、用户手册(寄存器版本和库函数版本)、库函数代码以及示例。可以看到,这里面还有我们所要使用的开发板的介绍(MSP430F5529LP)。
芯片资源索引页 芯片软件支持首页(有个下载按钮) 开发板介绍页然后点击软件支持页的下载按钮把相关文件下载下来(好像只能一次性全部下完),有1G多,打开压缩包我们可以看到文件结构比较复杂,因为其包含了各种功能的介绍和demo,而且是一整个大系列的芯片,而经过观察与猜测,我们只要把其中的driberlib文件夹提出来就够了。其中有我们需要的基本库函数文件(~/driverlib/MSP430F5xx_6xx)、基础功能的库函数实现示例(~/examples/MSP430F5xx_6xx)、以及库函数的文档(~/docs/MSP430F5xx_6xx)。
下载资料包总文件结构 driverlib下文件结构Step4.创建一个项目
File-New-CCS Project,选择芯片型号,填写项目名称(英文)
新建项目新建完成之后,自动弹出main.c,点击工具栏中的Build,稍等几秒钟,可以看到底下Console处显示Build Finished
看看编译器能不能用通过usb连接上我们的msp430,再点一下工具栏上面的小虫子,进入debug模式,中间除了出现进度条的窗口让他自己执行之外,其他都选yes(一定要保证在代码保存+已经build成功的情况下再debug,要不然就会报错让你修改代码)。第一次用板子可能会弹窗提示固件需要更新,选确定让它更新即可。然后出来下图的界面。其实跟C语言用的codeblocks挺像的,其中一个很重要的窗口就是寄存器窗口,这个对我们的调试非常重要,而且也不是每种单片机都能这么方便地使用这个功能的(stm32出来挨打)。一开始默认是停在main的,再点一下工具栏上的Resume(绿色那个)就开始自动运行了,除非设置了断点或者手动暂停,否则不会继续运行。点击Stop退出调试模式。如果还想要别的窗口,可以通过菜单栏的View下面的项目对它们进行调出。
Debug窗口 工具栏按钮具体功能现在,输入以下代码:
#include <msp430.h>
#include "driverlib.h"
void main (void)
{
//Stop WDT
WDT_A_hold(WDT_A_BASE);
//P8.1 output
GPIO_setAsOutputPin(GPIO_PORT_P8,GPIO_PIN1);
//Set all PA pins HI
GPIO_setOutputHighOnPin(GPIO_PORT_P8,GPIO_PIN1);
//Enter LPM4 w/interrupts enabled
__bis_SR_register(LPM4_bits + GIE);
//For debugger
__no_operation();
}
Build
果然不行当然不行啦!库函数都没加进去,driverlib.h都找不到怎么编译嘛,接下来我们就把库函数加进去(~/driverlib/MSP430F5xx_6xx)
右键菜单打开相应文件夹 把库函数文件夹复制进来然后,再编译……没错!这次也不能成功!还要把它加到编译目录中。
选中项目-右键-Properties
照着做吧然后……没有然后了,这次编译是真的能过了。
再点开Debug选项,下载并运行程序,可以看到口袋版上最左侧的LED灯亮了。
到此,一个能使用库函数的项目创建完毕!以后都能通过这个流程创建项目了。
Part 2 VScode
Step1. 下载并安装
https://code.visualstudio.com/
这个没什么难度,可能还要安装一些插件吧,自动补全之类的,具体谷歌/百度。(注:需要安装C/C++的推荐插件)
打开界面大致长这样
初始界面Step2.添加文件(夹),建立工作区
不过这个时候还是不能直接在driverlib.h上右键“转到定义”的,需要 文件-另存为工作区,把目前的状态保存了之后才可以将整个文件夹里面的内容链接起来。另存为工作区之后,可以看到已经可以根据库函数文件进行自动补全了。
自动补全还有一个很重要的功能,Go to Declearation,在新窗口中打开该函数或者宏定义的定义位置。由于TI的库函数写得比较好,有得时候直接根据注释就能看懂这一系列函数怎么用了,连UserGuide都不用看~ Ctrl+F12这个快捷键很常用
函数跳转结果 宏定义跳转结果当然,CCS里面也有跳转功能,步骤也是一样的,选中对应的函数/变量,右键就能看到,快捷键是F3。(但是他没有自动补全,差评)
最后一点,有一个文件也很重要,就是msp430f5529.h,可以看到我们例程的第一行用的是msp430.h,不过这样只有CCS能识别出来,VScode识别不出来,我们需要在安装目录(我的是E:\Program Files (x86)\CCS\ccsv8\ccs_base\msp430\include)下找到这个文件,复制到我们项目的根目录中,再把main.c第一行改成#include <msp430f5529.h>,这样就能在VScode中看到并引用其中的一些变量了。
最终的文件架构至此,VScode这边也配置完毕。
p.s.中文乱码解决办法
如果注释中有中文,CCS保存的文件使用的是GB2312编码,而VS中默认是UTF-8编码。可以通过选择菜单-文件-首选项-设置,在右边用户设置输入:"files.autoGuessEncoding": true,并保存即可自动识别编码。
先打开这个 有些版本是这样的如果不是GB2312的编码,记得先保存到这种编码再在CCS中打开
然后再输入GB2312如果现有的代码已经时UTF-8了,在CCS中打开可能会乱码,点击编辑区,菜单栏Edit-Set Encoding,选择Other,下拉点击UTF-8就饿能正常显示了。
尽情享受msp430吧~
p.s.如果无法正常打开CCS(闪退),请试着用本地账户登陆。
网友评论