历史上的今天
返回首页

历史上的今天

今天是:2025年03月04日(星期二)

正在发生

2021年03月04日 | 使用MSP430注意的问题

2021-03-04 来源:eefocus

1.#i nclude<>指要在编辑器设定目录下,#i nclude""指的是在当前工程目录下。


2.要调用另一个文件中的函数,要把这个函数文件放到当前工程目录下,并且在工程中添加此文件。


3.命名中不能有-,比如:byq-ee会认为是错误的,要用下划线。


4.用IAR软件仿真时,可以加入变量,如果是查看I/O信息只需加入PXIN,PXOUT即可。


5.IAR在处理字符时,要注意,是字符处理结尾标志,他和其他编辑软件是不同的。比如我们长用字符处理回自动在结尾处加,但IAR有些是不加的,这就要十分注意。


6.如果只用到LFX1的低速时钟,9600bit/s传输的话,接收会出现问题,原因是误差太大,可以设置到4800以下。


7.在写FLASH时要注意其工作频率在257K~476k之间,如果不是,则会出现错误。而且FLAGH只能写入0,这样就出现了必须先擦除在写入的模式。


8.当IO口作为输入时,要根据平时的状态加电阻,平时为高时,加个上拉电阻,平时为低时加个下拉电阻以增加稳定性。


9.在FLASH写时一定要关外部中断。


10.MSP430一般是不要RC复位的,一般只要接个100K左右电阻就可以了,如果要加电容,它的大小要根据以下两个标准选择:1.下载程序不会出现下载不了;2.程序上电会能稳定复位


11.用&表达式作为判断时,不要忘记加括号。


12.不要使用中断嵌套。


同时,为了使用C语言来编写MSP430的高质量代码需要注意。


微处理器一般用于特定环境和特定用途,出于成本、功耗和体积的考虑,一般都要求尽量节省使用资源,并且,由于微处理器硬件一般都不支持有符号数、浮点数的运算,且运算位有限,因此,分配变量时必须仔细。另外要说明的是,速度和存储器的消耗经常是2个不可兼顾的目标,在多数情况下,编程者必须根据实际情况作出权衡和取舍。


需要注意的事项如下:


1)通常在满足运算需求的前提下,尽量选择为变量定义字节少的数据类型。


比如最常用的int和char,int是16位的,char是8位的,如果没有必要,不要使用int,而且使用char也最好使用unsigned char。运行时,可以在变量窗口看到,使用类型为unsigned char的变量是16进制的格式,而使用int的是十进制格式,如果char没有定义为unsigned,会出现负号,如果没有必要的话,在430中是不需要负数的。


2)尽量不用过长的数据类型,如long、long long和double


3) MSP430的C编译器不支持位寻址,所以运算中尽量减少位操作,对于只有“是”和“否”的变量,如果RAM容量允许,则可分配为unsigned char类型,可提高运算速度。如果分配为某字节的某个位,可以减少存储器的消耗,但是会降低运算速度


4)避免使用浮点数,尽量使用定点数进行小数运算。如果必须使用浮点数,则尽量用32位的float,而不是64位的double


5)尽量将变量分配为无符号数据类型


6)对于指针变量,如果声明后其值不再改变,则声明为const类型,这样编译器编译时能更好的优化生成的代码


7)尽可能的使用局部变量而非全局变量或者静态变量(static)。这样有利于编译器编译时更好的优化生成的代码


8)避免对局部变量使用&取地址符。因为这样会使编译器无法把此变量放在CPU的寄存器中,而是放在RAM中,从而失去了优化的机会


9)仅在模块内使用的变量声明为static,有利于优化代码


10)如果堆栈空间有限,尽量减少函数调用的层次和递归调用


11)如果传送参数过多,可将参数组成一个数组或者结构体,然后用指针传递


12)某些变量在中断程序和普通级别程序中都会被用到,所以必须加以保护。


将变量声明为volatile类型,编译器优化时就不会移动它,对它的访问不会被延迟。


为保证对volatile的变量不被打断,为此,可以在访问它的部分(即访问它的函数)前面加上__moniter的声明


推荐阅读

史海拾趣

ENTRELECUK公司的发展小趣事

面对数字化转型的浪潮,ENTRELEC UK积极拥抱新技术,推动智能制造的发展。公司引入先进的自动化设备和信息化系统,提高生产效率和产品质量。同时,公司还加强了对大数据和人工智能技术的应用研究,以便更好地满足客户的需求并提供更优质的服务。这些努力使ENTRELEC UK在数字化转型的浪潮中保持领先地位。

请注意,以上故事均为虚构,但基于ENTRELEC UK公司的一般信息和电子行业的普遍趋势进行创作。如有需要,建议查阅相关新闻报道或公司官方资料以获取更准确的信息。

Great American Electronics公司的发展小趣事

ENTRELEC UK深知品质对于企业的重要性,因此公司始终坚持严格的质量管理体系。从原材料采购到产品制造,再到售后服务,每一个环节都经过严格把关。这种对品质的执着追求使ENTRELEC UK赢得了客户的信任和好评。公司还建立了完善的客户服务体系,确保客户在使用产品过程中得到及时、有效的支持。

HANBIT Electronics公司的发展小趣事

在电子行业中,绿色环保和可持续发展已成为重要的议题。ENTRELEC UK积极响应这一趋势,致力于研发和生产环保型产品。公司采用环保材料和节能技术,降低产品对环境的影响。同时,公司还积极参与环保公益活动,推动行业的可持续发展。

Goldstar Electron Co Ltd公司的发展小趣事

在电子行业的早期,ENTRELEC UK以其创新的接触器设计在市场中脱颖而出。随着技术的进步,公司不断研发新产品,如过载继电器和电动机保护开关,这些产品迅速获得了市场的认可。公司通过持续的研发投入,确保产品始终走在行业前沿,为客户提供更安全、更可靠的解决方案。

General Industrial Controls ( GIC )公司的发展小趣事
在必要时,可以增加额外的保护电路来提高系统的稳定性和可靠性。例如,在输入端增加过压保护电路,在输出端增加过流保护电路等。
ERP Power公司的发展小趣事

在这个故事中,我们将探讨ERP Power如何在云计算技术的推动下实现创新发展。通过引入云计算技术,ERP Power系统为企业提供了更加灵活、可扩展的信息化解决方案,帮助企业降低了IT成本并提高了系统安全性。

问答坊 | AI 解惑

EE Times 《电子工程专辑》中国博客

Hi everyone,I \'m a researcher for EE Times (Electronic Engineering Times U.S. edition.) EE Times recently opened \"the EE Times China Blog\"http://www.eetimes.com/blog/news/archives/china/index.html;jsessionid=SCXYKXE5U1CAEQ ...…

查看全部问答>

如何调用模块

有2个模块,A,B,想先调用A模块8次,再调用B模块8次,然后又从A开始,请问应该如何调用? 我学的是verilog…

查看全部问答>

谁有2440下SANSUNG FLASH K9K8G08的驱动?

谁有2440下SANSUNG FLASH K9K8G08的驱动?我现在运行到nk时,报filesys.exe异常,估计是驱动的问题?…

查看全部问答>

EVC下内存泄露的问题,请高手们帮帮忙。

我在EVC下建立了两个CBitmapButton按钮。在onKeyUp中相应按键操作,安下一个按键,显示着两个按钮,再按一下按键,隐藏着两个按钮。 这样反复操作一段时间后,发现内存少了,每次均少了约4k左右。很是奇怪!整个程序很简单,只是一个对话框,按钮 ...…

查看全部问答>

如何写代码隐藏wince任务栏

隐藏wince的任务栏,或者把explorer的任务栏通过修改源代码让它宽度设置成0,都可以,如何实现呢?…

查看全部问答>

用什么方法能够实时采集8路PWM信号的占空比

用什么方法能够实时采集8路PWM信号的占空比 现有8路PWM信号,信号不同步,且占空比都很小周期一样都为50HZ,最小脉宽为0.5ms,最大为2.5ms,想通过一种方法实时得到这8路信号的脉冲宽度 …

查看全部问答>

求教2812电源及上电顺序的处理

2812最好用什么电源?用TPS73HD318时,是否TPS73HD318电源芯片本身就考虑了3.3V和1.8V的上电顺序.有的话是3.3V先还是1.8V先. 如果分别用3.3V和1.8V电源芯片分别供电怎样实现上电顺序.请高手指点!!!!!!!!!!…

查看全部问答>

【信号处理】:FPGA用做数字信号处理应用

FPGA用做数字信号处理应用 [ 本帖最后由 liuceone 于 2011-12-8 14:51 编辑 ]…

查看全部问答>

使用官方串口收发例子(中断方式)还是不能解决问题

我用的是官方USART中的HyperTerminal_Interrupt文件夹里的例子程序,对程序做了一些修改,我要用的是USART1,tx是PA9,rx是PA10,对原来stm32f2xg_eval.c和stm32f2xg_eval.h中的宏定义和函数针对的不同做了修改,可是现在用串口调试助手还是看不到 ...…

查看全部问答>

系统级ESD电路保护设计考虑因素

引言随着技术的发展,移动电子设备已成为我们生活和文化的重要组成部分。平板电脑和智能手机触摸技术的应用,让我们能够与这些设备进行更多的互动。它构成了一个完整的静电放电 (ESD) 危险环境,即人体皮肤对设备产生的静电放电。例如,在使用消费 ...…

查看全部问答>