CCS&VScode简介及配置

从下节课开始,我们将要开始学习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(闪退),请试着用本地账户登陆。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容