使用iar,如果没有头文件,编译肯定通不过,更加不用说继续设计了,本人使用IAR进行msp430开发,选择原因是因为ccs所需内存太大了,keil已经无法满足MSP430的某些功能了,对于IAR集成开发环境,我们从事一个项目开发,首先就是要添加头文件,头文件相信大家都不陌生,使用C语言开发的时候我们见到过无数的 “#include《》”和“#include”都可以添加头文件,说明一下:放在自己工程目录下的头文件要用#include “msp430g2553.h” ,系统目录下的头文件才用#include《iomsp430g2553.h》,当然你自定义的头文件可以在系统头文件库里面的。
再次使用时新版本的IAR5.31时发现又不会添加头文件了,想想当时用的时候也遇到过类似问题,最后也不知是如何解决的,在利用workspace栏添加时,倒也能添加,只是不再main分目录下,即便包含了xxx.h文件,编译时仍然会提示“can no find xxx.h”。
有关IAR教程并总结出两种解决方法。
方法一:将头文件xxx.h保存在当前工程目录下,通常和main.c放在同一个目录。此时,无需在workspace里面手工添加,只需要在main.c或者在对应的xxx.c文件中“#include xxx.h”,编译成功完成后会自动出现在相应的.c文件下,以表示该.c文件调用了.h文件。
方法二:方法一中的文件排放是我们比较常见的一种文件组织方式,但是当文件较多时,.c和.h文件混在一起显得文件数较多且乱。此时,可以右击workspace中的Debug项,add --》 add group ,如图所示。自己可新增如名为Resource和Head的文件夹,将.c和.h文件作一个分类。
图1 新增Group
需要注意的是,此时如果.h和.c文件不在编译器默认搜索路径下,则需要在如图2所示的C/C++ compiler 选项中添加额外的include 搜索路径,没行写一个新的路径,比如E:Example等等。
图2 增加额外的include搜索路径
个人使用IAR总结的添加头文件的技巧:
(1):将头文件msp430g2553.h保存在当前工程目录下,和main.c放在同一个目录当中。这样就无需在workspace里面进行手工添加,只需要在main.c或者在对应的c文件中include进来即可 ,编译成功完成后会自动出现在相应的.c文件下。这个方法简单而且也不容易出错,因为我们在项目开发的时候,设计的文件大,很容易忽略这些细节的。这个方法可以在项目开始就解决掉问题。
(2):当我们开发的项目文件较多时,.c和.h文件混在一起显得文件数较多且显得很乱。我们不好迅速找到我们想要的文件,这点比较麻烦,这个时候,我们可以使用另外一个方法,就是右击workspace中的Debug项,add --》add group ,自己可新增如名为自己定义的组文件夹,将.c和.h文件作一个分类来进行管理,这样更加的直接明了,很适合用于大项目多文件的开发。
IAR头文件,用户程序通过头文件访问库定义,头文件使用#include伪指令与之相结合,为了避免浪费编译时间,定义被划分到许多不同的头部定义,每一个文件覆盖特定的函数区域,用户可以根据使用的内容选择不同的头文件。
IAR调试环境提供了MSP430单片机各系列的标准头文件,定义了系列中包含的寄存器的物理地址,在程序中可以字节使用寄存器名或者寄存器中位的名称,这样就避免使用实际的物理地址,使程序设计简介、高效。
关键字:msp430 头文件 编译
引用地址:
msp430如何选择头文件?怎么添加?
推荐阅读最新更新时间:2024-11-17 06:42
MSP430 5xx/6xx 以REFO或XT1为时钟源的DCO编程实例
当MSP430 5xx/6xx 系列外部接入32768Hz的低频晶振时,满足不了需要高速运行的应用。所以需要通过MCU内部的DCO(数字控制振荡器)和FLL(锁相环)将低速时钟32768Hz进行倍频,达到需要的目标频率。 DCO是一个集成的数字控制振荡器。DCO频率可以通过软件使用UCSCTL1.DCORSEL、UCSCTL0.DCO和UCSCTL0.MOD位进行调整。DCO频率可由FLL选择性地稳定到FLLREFCLK/n的多个倍频。FLL可以接受由UCSCTL3.SELREF位选择的不同参考时钟源。参考时钟源包括XT1CLK、REFOCLK或XT2CLK(如果可用)。n的值由UCSCTL3.FLLREFDIV位(n=1、2
[单片机]
采用GPS模块和MSP430系列实现便携式导航系统的设计
1 GPS系统简介 GPS是Global Positioning System 的缩写,即全球定位系统。其目的是在全球范围内对地面和空中目标进行准确定位和监测。随着全球性空间定位信息应用的日益广泛,GPS提供的全时域、全天候、高精度定位服务将给空间技术、地球物理、大地测绘、遥感技术、交通调度、军事作战以及人们的日常生活带来巨大的变化和深远的影响。 目前的民用GPS设备包括测量型和导航型。其中测量型产品的精度可达到米级甚至毫米级,但至少需要两台(套)才能达到设计精度要求,而且其内部结构复杂,单机成本一般在几万到几十万,适合专业高精度测量环境使用;导航型产品,由于其使用者对精度要求不高,一般为几十米,因此机器内部硬件相对简单,只须
[单片机]
基于MSP430的高功率因数电源设计方案
在电力网的运行中,功率因数反映了电源输出的视在功率被有效利用的程度,我们希望的是功率因数越大越好。这样电路中的无功功率可以降到最小,视在功率将大部分转换为有功功率,从而提高电能输送的效率。提高功率因数必须从相位校正技术和谐波消除技术两个方面考虑,无功分量基本上为高次谐波,谐波电流在输电线路阻抗上的压降会使电网电压发生畸变,影响供电系统的供电质量,谐波会增加电网电路的损耗。解决用电设备谐波污染的主要途径有两种: 一是增设电网补偿设备(有源滤波器和无源滤波器)以补偿电力电子设备、装置产生的谐波;二是改进电力电子装置本身,使之不产生或产生很小的谐波,如采用功率因数校正技术。两者相比较前者是消极的方法,即在装置产生谐波后,进行集
[单片机]
【MSP430】关于MSP430的精准延时__delay_cycles的分析
首先我们先看以下代码: #define CPU_F ((double)8000000) //CPU_F代表系统选用的主时钟大小,单位Hz #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) 分析上述代码: 一、8000000为MSP430板载的外部高速晶振提供的8MHz的主时钟频率,单位为Hz 二、__delay_cycles是
[单片机]
MSP430单片机的时钟系统
MSP430根据型号的不同最多可以选择使用3个振荡器。我们可以根据需要选择合适的振荡频率,并可以在不需要时随时关闭振荡器,以节省功耗。这3个振荡器分别为: (1)DCO 数控RC振荡器。它在芯片内部,不用时可以关闭。DCO的振荡频率会受周围环境温度和MSP430工作电压的影响,且同一型号的芯片所产生的频率也不相同。但DCO的调节功能可以改善它的性能,他的调节分为以下3步:a:选择BCSCTL1.RSELx确定时钟的标称频率;b:选择DCOCTL.DCOx在标称频率基础上分段粗调;c:选择DCOCTL.MODx的值进行细调。 (2)LFXT1 接低频振荡器。典型为接32768HZ的时钟振荡器,此时振荡器不需要接负载电容。也可以接
[单片机]
MSP430F5438中断函数两种编写方法
以USCI0为例,说明该两种不同方法。 1.switch-case方法 #pragma vector=USCI_A0_VECTOR __interrupt void USCI_A0_ISR(void) { switch(__even_in_range(UCA0IV,4)) { case 0: break; case 2: // 接收中断 // do something here break; case 4: // 发送中断 // do something here
[单片机]
采用MSP430F149主处理器实现多用途智能节点的设计
1、前言 LONWorks现场总线是美国Echelon公司推出的局部操作网络,它具有统一性、开放性、互操作性及支持多种通信介质等优良性能,是当今最流行的现场总线之一。但是由于LonWorks控制节点的核心神经元芯片(Neuron Chip)的应用处理能力相对较弱,因而对于复杂的应用常使用主从处理器结构,主处理器完成用户的应用功能,而把Neuron芯片作为通信协处理器。由于可以提高了节点的处理能力,节省资金和开发时间,因此,具有多功能的通用嵌入式主处理器具有很好的应用前景。本文采用的MSP430F149主处理器是TI公司基具有较高的集成度的芯片,简化了应用系统的硬件设计,适合作为多用途智能节点。 2、ShortSTack的介绍和
[单片机]
MSP430单片机在电力系统操作电源中的应用
1 引言 随着电力系统现代自动化水平的提高以及高频开关电源结构的日趋复杂,促使人们采用新的控制手段来迅速反映模块变化,以大幅度提高开关电源模块稳定运行水平.在整个控制系统中,要求处理采样数据及采用的算法也越来越多.传统的微处理器如MSC51系列等单片机由于内部集成资源相对少、外围电路复杂、系统抗干扰能力差、不擅长数据处理的缺点以逐渐不能满足高科技水平的需要. MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗的混合信号处理器. 由于其超低功耗、强大的处理能力、高性能模拟技术及丰富的片上外围模块、系统工作稳定、方便高效的开发环境得到广大用户的高度评价。本文采用MSP430单片机控制开关电源时期
[单片机]