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左右电阻就可以了,如果要加电容,它的大小要根据以下两个标准选择:
下载程序不会出现下载不了
程序上电会能稳定复位
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的声明
关键字:MSP430 单片机 开发总结
引用地址:
MSP430教程17:MSP430单片机开发总结
推荐阅读最新更新时间:2024-11-05 08:39
基于PIC单片机的智能低电阻测量仪
引言
低电阻测凰仪按其测试电流的大小可分为两类:一类测试电流较大,主要用于接插件、开关、导体等产品的直流低电阻的测量,另-类测试电流很小(一般为1mA左右),用于电雷管、点火具或其他危险易爆场合的接插件、开关等元器件的直流低电阻的测量。该种测量仪对安全性能要求很高,必须增加多种保护电路。在PCB吸设计布线时也要考虑安全性和可靠性。89年至今,我们不断改进完善电路设计,设计生产了四个型号的低电阻测量仪,这里介绍的是最新的DZC-4型智能旺电阻测量仪。
一、 总体方案和技术指标
仪器可分为五个部分:电源供应、精密恒流源、精密电压放大器、A/D转换器、单片机控制器。见图l主要技术指标:
1、测试范围:0~20
[单片机]
MSP430(G2553)用看门狗定时器来产生周期信号
#include msp430g2553.h #include intrinsics.h volatile unsigned int i = 0; // 中断服务子程序中所用到的全局变量, 最好定义成 volatile 型, 具体原因和用法可以参考我的其他博文介绍 void main (void) { WDTCTL = WDT_MDLY_0_5; // 周期 0.5ms, 设置可参考下面头文件中的截段 IE1 |= WDTIE; // 使能WDT中断 P2DIR |= BIT2; // P2.2输出 _EINT(); // 使能全局中断 for (;;) {
[单片机]
基于可编程逻辑器件与单片机的双控制器的设计
在传统的控制系统中,人们常常采用单片机作为控制核心。但这种方法硬件连线复杂,可靠性差,且单片机的端口数目、内部定时器和中断源的个数都有限,在实际应用中往往需要外加扩展芯片。这无疑对系统的设计带来诸多不便。 现在有很多系统采用可编程逻辑器件CPLD作为控制核心。它与传统设计相比较,不仅简化了接口和控制,提高了系统的整体性能及工作可靠性,也为系统集成创造了条件。但可编程逻辑器件的D触发器资源非常有限,而且可编程逻辑器件在控制时序方面不如单片机那样方便,很多不熟悉的应用者往往感到应用起来非常的困难。利用可编程逻辑器件和单片机构成的双向通信控制器克服了两者的缺点,且把二者的长处最大限度地发挥出来。 1 CPLD与单片机AT89C51双
[单片机]
基于微控制器的全数字双向DC/DC变换器的研制
O 引言 为了实现直流能量的双向传输,双向DC/DC变换器被广泛应用于UPS系统、航天电源系统、电动汽车驱动及蓄电池充放电维护等场合。 在这些应用当中,很多时候都要求开关电源不仅能够控制能量的双向流动,还要能够实现低压、大电流的输出。在开关频率不太高的情况下,随着输出电压的降低、输出电流的增加,整流损耗就成了影响开关电源效率的主要冈素。因此,为了提高开关电源的效率,就必须设法降低整流损耗。而在本文中采用的同步整流技术就是一种降低整流损耗的有效手段。 在以往的电源设计当中,模拟控制技术因其动态响应快、无量化误差、价格低廉等优点而被广泛应崩;而数字控制技术则由于其成本和技术等方面的因素而较少得到应用。近年来,随着半导体技术
[单片机]
贸泽推出各种Microchip创新MCU解决方案
贸泽推出各种Microchip创新MCU解决方案为嵌入式系统工程师提供更多支持 2022年9月21日 – 专注于引入新品并提供海量库存™的电子元器件分销商贸泽电子 (Mouser Electronics) 持续为嵌入式系统工程师提供一系列支持资源。 作为Microchip Technology解决方案的全球授权分销商,贸泽备有其新一代MCU、混合信号、模拟和闪存IP解决方案,以降低各类应用的产品开发风险并加快上市。贸泽还为工程师提供了电子书等丰富的Microchip资源,为设计提供支持。 电子书:贸泽和Microchip最近联手推出了 《Effortless Embedded Solutions》 (轻松设计嵌入式
[单片机]
定时器中断是什么意思,定时器中断的工作原理
定时器中断是由单片机中的定时器溢出而申请的中断。51单片机中有两个定时器T0和T1。STM32中共有11个定时器。 一、定时器中断是什么意思 定时器中断是由单片机中的定时器溢出而申请的中断。 51单片机中有两个定时器T0和T1: (1)TF0:定时器T0溢出中断请求。当定时器TO产生溢出时,TO中断请求标志TF0置1,请求中断处理。 (2)TF1:定时器T1溢出中断请求。当定时器Tl产生溢出时,T1中断请求标志TF1置1,请求中断处理。 Stm32共有11个定时器: 1、两个高级定时器:TIM1、TIM8-------------------------APB2 2、四个通用定时器:TIM2~TIM5-------------
[单片机]
基于温度测量处理变送器的设计
一、概述 石灰炉烧制石灰时炉内各处的温度可能不一样,生产工艺要求得出炉内四点的平均温度,了解各点的温度值,对平均值及各测量点的温度进行报警处理;若某处的信号不正常(传感器损坏或断线)能及时报警并排除在数据处理之外。本系统可完成以上功能,检测处理石灰炉的温度,并以4-20mA形式变送远传温度平均值或最高一点的温度。该产品的工作示意图如下图1所示,在该石灰炉内有四个点分别放四个热电偶,这四个热电偶就是该系统的四路输入信号来源。利用该系统测出如图1所示: 二、系统硬件设计 1、系统结构框图及 人机界面 系统的结构框图见图二。系统硬件部分主要由前端输入电路,A/D及D/A电路,人机界面电路,CPU及外围电路组成。系统达到
[传感器]
软糯Q弹的MCU,你见过吗
树莓派的板子为什么一直那么受欢迎?因为它开源,所以具备非常强的灵活性和可玩性。 最近,国外就有一个众筹项目火了,这个项目就把RP2040的板子替换成了柔性板,让它能够安装在任何狭小的空间或者是弯曲的外壳内。 柔性的RP2040 在国外很火的平台KickStarter上,TOP Gadgets发起了FlexiPi这一个众筹项目。根据介绍,FlexiPi在紧凑的空间融合了柔性和性能,它基于RP2040构建,为开发人员、制造商和爱好者提供了无与伦比的灵活性。 从外观来看,FlexiPi外形尺寸与最初的Pico以及大多数规格非常接近。整体与Pico有一些变化,包括一个可编程的RGB LED和一个 USB Type-C 端口
[单片机]