历史上的今天
返回首页

历史上的今天

今天是:2025年01月19日(星期日)

正在发生

2020年01月19日 | MSP430 开发注意事项要求

2020-01-19 来源:eefocus

以下是在使用MSP430中的一些总结: 

1.系统时钟问题:

 系统默认使用DCO,使用外部高速晶振XT2时必须自己开启XT2,并延时50us等待XT2起振,然后手工清除IFG1中的OFIFG位

 !!!!一定要注意操作顺序:打开XT2->等待XT2稳定->切换系统时钟为XT2

 若后面两步操作反了,在通常情况下不会出现问题,但是在电压不稳MCU频繁复位的情况下,非常容易造成MCU死掉,只能掉电后重新上电才能可靠复位。


2.早期版本的IAR开发环境

 必须在Project->Option->C-Spy中选择对应器件的DDF文件,否则调试时无SFR窗口。


3.在写Flash期间,一定要关闭中断,此时CPU无法执行程序


4.调试的时候,不要选中"Release JTAG on Go"


5.在调试时,需要关闭看门狗,否则在打开看门狗的情况下,每当执行到断点,程序将会跳转到入口点从头执行。或者,暂停运行或停止到断点处时,当需要继续运行时,程序不再执行,而是需要使用“同步JTAG”才能继续运行(从头运行?)


6. IAR EWB标识符是区分大小写的


7. 结构变量内部存在对齐要求,通常按照2个字节的位置对齐,在"C/EC++ Compiler Reference Guide"的P93又如下例子:

struct {

 short s; /* stored in byte 0 and 1 */

 char c; /* stored in byte 2 */

 long l; /* stored in byte 4, 5, 6, and 7 */

 char c2; /* stored in byte 8 */

} s;

sizeof(s) 为10,而不是8


可以使用#pragma pack来改变这种对齐方式,但是会导致,这个结构只能按字节方式存取


8. MSP430 IAR C/EC++ Compiler支持两个运行库

 1. IAR CLIB : 主要用于8或16为处理器,不完全兼容ISO/ANSI C,也不完全支持IEEE     754浮点数,不支持Embedded C++.

 2. IAR CLIB : 支持ISO/ANSI C和Embedded C++.


9. cstartup的定制

(1). 在__low_level_init()中添加代码。该函数可以用来初始化I/O寄存器,并决定数据段是否在cstartup被初始化。文件430srcliblowinit.c给出了框架,copy到项目目录中使用,文件中有一定的使用说明。

(2) 若__low_level_init()中添加代码不能满足要求,则把430srclibcstartup.s43拷贝到自己的工作目录,修改所需代码;然后在将该文件添加到项目,在项目选型的XLINK的include页下选择Ignore CSTARTUP in library即可。


10. 使用#include "io430x14x.h"和#include "in430.h"来替代#include

可以使用定义的位变量


可以使用以下方式定义位变量,但是编译器最终还是转换为字节操作:

 struct

 {

 unsigned char WDTIE : 1;

 unsigned char OFIE : 1;

 unsigned char : 2;

 unsigned char NMIIE : 1;

 unsigned char ACCVIE : 1;

 unsigned char URXIE0 : 1;

 unsigned char UTXIE0 : 1;

 } IE1_bit;


不推荐使用bitfields,效率很低


11. 数组的索引值用int型效率最高,char型也好略低数组类型:char型数组效率最高,其他类型的数组在索引时,都采用了乘法

推荐阅读

史海拾趣

EF Johnson Technologies Inc公司的发展小趣事

在产品质量方面,EF Johnson公司始终坚持高标准、严要求。公司建立了完善的质量管理体系,从原材料采购到生产制造再到售后服务,每一个环节都严格把关。这种对品质的执着追求让EF Johnson的产品在市场上赢得了良好的口碑和用户的信赖。随着品牌知名度的提升,EF Johnson的市场份额也稳步增长。

CDE [ CORNELL DUBILIER ELECTRONICS ]公司的发展小趣事

经过近百年的发展,CDE公司始终坚守品质至上的原则,为全球客户提供高品质的电容器产品。公司通过不断的技术研发和产品升级,逐步在全球市场上树立了良好的口碑。如今,CDE的电容器产品已广泛应用于电源、电机、驱动器、航空电子、电力和军用电子设备等多个领域,赢得了全球客户的信赖。

Furukawa Electric Co Ltd公司的发展小趣事

近年来,随着新能源市场的蓬勃发展,CDE公司敏锐地抓住了这一机遇。公司积极参与军事和能源应用的高压直流链路电容器市场,并成功推出了针对EV快速充电的高压直流链路电容器。这一产品的推出不仅满足了市场对高效、可靠电容器的需求,也为CDE在新能源领域的发展奠定了坚实基础。

對餘科技(DIOFIT)公司的发展小趣事

DIOFIT公司一直秉持着品质至上的生产理念,注重产品质量和用户体验。他们严格控制原材料采购和生产流程,确保每一款产品都符合高标准的质量要求。同时,DIOFIT公司还建立了完善的售后服务体系,及时解决用户在使用过程中遇到的问题,赢得了用户的信赖和好评。

Heraeus公司的发展小趣事

DIOFIT公司自创立之初,便面临着激烈的市场竞争和技术挑战。创始人团队凭借对电子技术的深入理解和热情,决心打造一家专注于高端电子产品研发和生产的企业。在资金紧张、人才匮乏的情况下,他们坚持自主研发,不断优化产品设计,最终成功推出了一款具有创新性的智能家居控制系统,赢得了市场的认可,为公司的发展奠定了坚实的基础。

德索五金(dosinconn)公司的发展小趣事

问答坊 | AI 解惑

麻烦推荐个运放,能测出1mV左右电压,失真比较小~~

本信息来自合作QQ群:电子工程师技术交流(12425841) 群主在坛子ID:Kata   麻烦推荐个运放,能测出1mV左右电压,失真比较小 用OP07可以不? …

查看全部问答>

KEIL下LPC1114代码运行问题

用keil编码1114的i2c,我在设置了编译优化选项之后出现了巨大的问题。索性,在取消掉所有的优化选项后i2c通信已经正常。   可惜结果仍然不正确,我就跟代码。这时候才发现一个无法理解的问题。我在funcA()里调用funcB()时传入一个静态myVar ...…

查看全部问答>

疑问

   大家好,我现在跟同学一起做一个有关嵌入式的东西,就是想让平台上的图像在触摸屏幕上显示出来,用软件来实现 希望大家能多多指导!!…

查看全部问答>

有关CDMA模块的AT指令问题

如题,公司用的是ANTDATA公司出的DTGS-800模块,虽然也带有文档说明,但我觉得不够详细,所以特来发帖提问,希望大家踊跃发言,问题如下: 1、读取短信的时候,怎样才能不改变短信的状态呢?例如,执行了以下AT命令 AT+UGSM=1 返回OK(DTGS-800支 ...…

查看全部问答>

求助:PWM输出8.2KHZ1:1的方波,为什么在4.3K有个的很强频率分量

设置如下: unsigned short pwmizhouqi=256;   LPC_TMR16B1->TCR = 0;      LPC_SYSCON->SYSAHBCLKCTRL |= (1PIO1_9 = 0X01;   LPC_TMR16B1->MR0 = pwmizhouqi/2;       LPC ...…

查看全部问答>

求教

MSP430f2XX  系列单片机能不能用并口JTAG下载程序?一定要用USB  二线制的吗?谢谢…

查看全部问答>

LaunchPad调试nrf24l01--续

原帖不能编辑了,就新开一帖在这里,望斑竹谅解   目前为止,基于launchpad和nrf24l01的单向收发已经实现,程序在下面放出,还有很多要改进的,仅供参考。欢迎高手拍砖。   学习经历: 1.收到板子后查了下资料,发现很丰富啊,于是 ...…

查看全部问答>

单片机编程

http://wenku.baidu.com/view/eeb3310d6c85ec3a87c2c586.html…

查看全部问答>

MPLAB IDE和PICC编译问题。

我用的是MPLAB ICE和PICC编译PIC16F722,之前编译什么的都没问题,重装系统后再安装后就再也编译不成功了,提示No installed compiler driver supports device 16F722。 编译PIC16F505没有问题。每次点Project-Select Language Toolsuite后HI-TECH ...…

查看全部问答>