跟以往不同,在MCU的学习中吃过亏,这次走了捷径——学习硬件最“快捷”的方式莫过于直接读例程,可是…… 一读例程就傻眼了,咋那么多头文件呢?于是紧接着问题就来了:这些头文件哪儿弄来的?很快陷入了开发51的俗套:不会是自己写的吧,一定有个地方收藏者这些头文件,要不自己一个一个逐个编写,得花多少时间呀。
请教了下志远师兄(呵呵,年龄比我小,辈分还是比我高,古人怎么说来着“无贵无贱,无长无少,道之所存,师之所存”) ,他说“开发板光盘里有”,又请教了下一同访学的廖老师,他说“TI官网上有得下载”
很幸运,在开发板的光盘文档里很快就找到了例程里的全部header,但是还不死心,难道离开了开发板供应商的文档,我就不知道去哪找这些头文件了吗?
老老实实上TI的官网去搜,发现C2000系列的DSP其实已经被TI归类为单片机,放在MCU分类下的Performance MCUs里
将书本上的寄存器用头文件的形式写出来的方法TI说的很明白,基本上是最好的教材了,可以当作一本《手把手教你编写xxxx头文件》的书来读。 文档地址:http://www.ti.com/lit/an/spraa85d/spraa85d.pdf
没时间读也不要紧,直接翻到手册倒数第二页的references,按说明去下载要用的芯片类型的头文件。
2812外设相关的头文件在这里:http://www.ti.com/lit/sw/sprc097/sprc097.zip
运行里面的exe文件,将文档解压到相应目录,然后新建项目时去这里找头文件吧。
比较了下开发板的头文件和TI的关于GPIO的头文件,基本上没啥区别, 不同的是开发板厂商不考虑与C++的兼容性,而TI是考虑的……
顶,原来开发DSP还可以直接上C++呀,看到这里,高级语言学过C++没学C的同学们是不是很开心呢? good luck
第二个问题来了:怎样把我下载到的头文件放到我的project里呢?
这个问题百度一下基本上就可以搞定
菜单项:project--properties (跟在选择项目上右键properties,或alt+ENTER出来的都是一样的)
找到Build--Cxxx Complier--Include Options,在上面的空白文本框右上方单击添加按钮可以添加指定文件,在下面的文本框可以添加搜索路径,如图
${...} 标记的是转义字符串,很容易解读,workspace_loc:/ 是当前工作空间的路径 ProjName是当前项目的名称,这里使用工作空间来添加感觉比较靠谱,将项目复制到其他工作空间后仍然可以使用。
当然也可以点File System按钮添加文件的绝对路径——但是务必保证计算机该路径下存在该头文件,<个人不推荐使用>
添加搜索路径比直接添加头文件更好,需要增加头文件时,只需把它丢到搜索路径中,然后ccs编译器就会解读文件依赖关系
翼志开发板的例程就只添加了相对搜索路径,这应该是一个不错的选择
小结: 1. 头文件不需要自己写,到TI官网下载,如果有自定义的需求,直接在TI的模板上修改;
2. 在项目中添加头文件的搜索路径并使用相对路径或许会增加项目的适应性(试想一下一个项目拷到另外一台计算机上编辑时的情形),是一个值得学习的好习惯。