历史上的今天
返回首页

历史上的今天

今天是:2024年10月30日(星期三)

正在发生

2019年10月30日 | MSP430G2553使用CCS8.0编程注意点总结

2019-10-30 来源:eefocus

本文总结了在利用MSP430G2553做实验时的一些通用错误及注意点,用的软件为CCS8.0,供大家借鉴,具体工程不再给出,若有相似问题或本文有错误,可留言,我尽量回复。文末附有MSP430的用户手册、数据手册、学习笔记及《从零开启大学生电子设计之路》电子版及相关例程的下载地址,我也会尽量持续总结并更新。


【错误1】:在“UART_Global.h“中已经定义全局变量“extern unsigned int CHANGE_MODE;”,然而编译时仍然出现错误,错误提示为:error #10234-D: unresolved symbols remain。


【解决】:经过在网上查找并对比相关例程发现,在“.h”文件中定义后,仍需在相应的”.c“文件中再次声明,如在本错误中需在” UART_Global.c“中定义“unsigned intCHANGE_MODE=0;”,定义之后,编译成功。


【错误2】:在调试或运行结束后发现程序总是停止在ISR_TRAP.ASM文件中。


【解决】:此类问题出现的原因一般是声明了一个中断并使能,但是并未写该函数的中断处理函数,写上就可以解决该问题。


【错误3】:同时使用“I2C.c”和”UART_Init.c”编译时显示:error #10056: symbol "__TI_int06" redefined: first definedin "./src/I2C.obj"; redefined in "./src/UART_init.obj",查找好久但却找不到错误提示的"__TI_int06"。


【解决】:根据错误提示,“__TI_int06”被重定义,然而自己在编写程序时根本没有定义过该变量。在网上一个不起眼的角落里找到有帖子说“__TI_int04”指的是一个中断向量。结合“__TI_int06”的“TI”可以推测这可能是CCS中自带的头文件中的相关定义,最终查找后发现,这的确代表了一个中断向量!而且该中断向量在不同的文件中定义使用了两次!只需要将其中一个文件中断中的函数放在另一个文件的该中断处理函数中即可。然而在修改时需要注意将相关的变量一并移入另一个文件中,否则会报错。在本工程中,是将”UART_Init.c”中“#pragma vector =USCIAB0TX_VECTOR”相关的内容移入了“I2C.c”的“#pragma vector = USCIAB0TX_VECTOR”中,并用中断标志位判断中断的来源究竟I2C还是UART,并做出相应处理。具体程序可见本工程中的“I2C.c”。


在这里说明一下在CCS程序中搜索的步骤:首先,将待搜索的内容粘贴到程序中,选中该内容,单击右键,选“searchtext”,再选“project”即可进行搜索。


1.在程序的功能无法正常实现而需要调试时,最好将该程序分解为多个实现小功能的模块,使用断点调试或单步调试,在每次调试后观察寄存器和全局变量的值,逐个判断小模块的功能是否正常,最后调试总程序。


2.在涉及到时序配合时,分频系数的选择会在一定程度上影响各个信号的时序关系,应该根据示波器显示的信号时序选择合适的分频系数以保证功能正常。


3.在涉及到多个模块的功能时,一定要特别注意引脚、寄存器、中断向量是否存在同时使用的情况,如果存在,一定要利用软件编程将其分开,这样才能保证正常的功能。


4.在编写程序,尤其是在编写一个较大的工程时,一定要注意存储空间的分配与代码的简洁度问题,不然可能出现存储空间不足的问题。


5.在硬件连接上,我们尤其需要注意各个跳线槽的连接方式是否需要更改,比如在本工程中就需要去掉P1.6的跳线槽,并更改RXD、TXD跳线槽的连接方式,才能实现正常的功能。


6. 再向已有工程添加库函数时,需要点一下src,再点菜单栏的project 选择最下面那个properties;在弹出的界面里选include options 然后找到一个小加号;点击小加号 在弹出的界面点击workplace 然后找到刚才的src 最后一直点ok;这样才能使复制过去的库函数文件有效。


7.当功能不能正常实现时,可以重复下载几次,因为该开发板在跑程序时很容易出现问题;当功能突然不能正常实现时,很有可能重新下载一次程序就好了。


8.CCS中的编译方式和普遍应用的C语言编译方式有很大不同,这就造成了部分我们认为正确的语句在CCS的编译下会报错,这时我们首先去网上搜索一下相关信息,如果没有相关提示,就只好不断地尝试,直到编译通过并可以实现正常功能为止。


MSP430的用户手册、数据手册、学习笔记下载地址:MSP430用户手册、数据手册、学习笔记


《从零开启大学生电子设计之路》电子版及相关例程的下载地址:《从零开启大学生电子设计之路》电子版及相关例程

推荐阅读

史海拾趣

协顺电子(Finecables)公司的发展小趣事

近年来,随着电子行业技术的不断革新和市场环境的变化,协顺电子也面临着前所未有的挑战。为了应对这些挑战,公司开始进行转型升级。一方面,公司加大研发投入,推动产品创新和技术升级;另一方面,公司也积极探索新的业务领域和市场机会。同时,协顺电子还加强了与供应商和客户的合作关系,共同应对市场变化和挑战。这些努力使得公司在激烈的市场竞争中保持了良好的发展态势。

Fairchild (ON Semiconductor)公司的发展小趣事

在发展过程中,Fairchild Semiconductor也经历了多次收购与整合。这些收购不仅为Fairchild带来了更多的技术和资源,也进一步巩固了其在半导体行业中的领导地位。然而,随着市场竞争的加剧和技术的不断更新换代,Fairchild也面临着越来越多的挑战和机遇。

DBLECTRO公司的发展小趣事

2010年,迪贝电子面临了一次重大的市场挑战。随着国内外竞争对手的不断涌入,气体检测及分析仪器市场的竞争日益激烈。为了应对这一挑战,迪贝电子加大了技术创新的力度,积极引进国内外最新的技术和设备,不断提升产品的性能和品质。同时,公司还加强了与客户的沟通和合作,深入了解客户需求,提供个性化的解决方案。这些努力使得迪贝电子在激烈的市场竞争中保持了领先地位。

E-San Electronic Co Ltd公司的发展小趣事

随着市场的不断变化和消费者需求的升级,E-San Electronic Co Ltd意识到技术创新是企业持续发展的关键。公司投入大量资金和资源,建立了自己的研发团队,并与多所高校和研究机构建立了合作关系。经过数年的努力,公司成功研发出了一系列具有自主知识产权的核心技术,这些技术不仅提升了产品的性能和质量,也为企业赢得了更多的市场份额。

Datapro International Inc公司的发展小趣事

为了进一步提升技术实力和市场竞争力,Datapro International Inc公司开始寻求与国内外知名企业的战略合作。他们与一些在数据存储和处理领域具有领先地位的企业建立了合作关系,共同研发新产品、拓展新市场。

通过战略合作,Datapro International Inc公司获得了更多的技术资源和市场机会。同时,他们也从合作伙伴身上学到了许多先进的管理理念和市场策略。这些经验和知识为Datapro International Inc公司的未来发展提供了有力的支持。

EEMB Co Ltd公司的发展小趣事

EEMB集团一直非常重视企业文化和团队建设。公司注重培养员工的创新意识和团队精神,为员工提供了良好的工作环境和发展机会。同时,公司也积极履行社会责任,关注环保和公益事业,为社会做出了积极贡献。这些举措不仅增强了公司的凝聚力和向心力,也为公司的可持续发展奠定了坚实基础。

请注意,以上故事是基于公开信息和一般情况下的假设而编写的,可能与EEMB Co Ltd公司的实际发展情况存在差异。

问答坊 | AI 解惑

【藏书阁】高频电子线路 第三版

目录: 第一章 绪论   第一节 无线电通信发展简史   第二节 无线电信号传输原理   第三节 通信的传输媒质 第二章 选频网络   第一节 串联谐振回路   第一节 并联谐振回路   第三节 串、并联阻抗等效互换与回路抽头时 ...…

查看全部问答>

网络电话你用了吗

网络电话你用了吗 优易通网络电话推出市话长途6分钱一分钟的网络电话,推出包月一百元的网络电话,200元的网络电话,需要安装的朋友请打申请热线:0755-89473505 16391735035 吴小姐   …

查看全部问答>

请求nucleus plus操作系统资料

大家好,刚刚学习nucleus plus 操作系统,不知道从何开始,请大家指点或给点nucleus plus操作系统资料,谢谢!我的邮箱  wlh1211@126.com  QQ:276765591…

查看全部问答>

LED颜色和亮度测试方案(Feasa LED测试仪)

前言   LED(发光二极管)是目前发展最为迅猛的产业之一,其高亮度、低能耗、长寿命的特点在各领域广泛应用,也被认为最有前途的产业之一。但是LED的光电学特性差异经常导致多个LED组合(LED屏)出现亮度和颜色不一致,破坏白平衡,降低显示质 ...…

查看全部问答>

10、Beaglebone外围电路设计第三周:实现LCD显示

刚开始在查阅资料的时候,感觉AM335x系列的LCD raster显示模式应该比较简单,因为在手册介绍中,这种模式通用性很强,对LCD 的想好没有做特别的要求,所以我购买了一款3.5寸的LCD,可悲剧的是我无论怎么配置,都不能让LCD显示预计的效果!无奈只好 ...…

查看全部问答>

msp430 f5529实验板怎样用USB仿真调试

问题有点白痴。。。不好意思去问老师,特地在此求助。       实例程序编译通过了,但调试会提示USB FET找不到。。不知哪里出了问题。。usb选的是左下角的,可是连上电脑后电脑都没反应,只有供电的作用。。。求帮忙啊,,,…

查看全部问答>

又来送书啦!一本《精通开关电源设计(中文版)》续2

又来送书啦!一本《精通开关电源设计(中文版)》续2 这本虽不是最最流行的开关电源设计的书,但做为普及了解开关电源的原理和基础知识,绝对是一本值得看的书,,大家收藏吧,, …

查看全部问答>

51单片机做一个多功能数字钟,急啊

要多功能数字钟的完整程序啊,急啊,最好是汇编语言的,C语言的也可以。时钟芯片用的ds1302 可以用键盘设定时间,要有12小时和24小时两种计时方式,其他附加的功能随便是什么。没有附加功能就算了。 希望各位帮个忙啊,多谢啊…

查看全部问答>

更新新版本协议栈出现问题,求解啊!!!大侠们帮忙看看啊

请问ZStack-CC2530-2.5.1a版本协议栈里的neighborTable和AssociatedDevList分别是存什么信息的 我原来用的是ZStack-CC2530-2.3.0-1.4.0,组网时周围设备的信息都会在这个表中找到,neighborTable存Router,AssociatedDevList存EndDevice 为什么新 ...…

查看全部问答>