历史上的今天
今天是:2025年03月04日(星期二)
2021年03月04日 | MSP430开发注意事项
2021-03-04 来源: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型数组效率最高,其他类型的数组在索引时,都采用了乘法
上一篇:使用MSP430注意的问题
史海拾趣
|
由于Microchip推出的PIC系列8位单片机是朝着超小型、低功耗、低成本方向发展的,这些产品无功能堆积而以多品种方式来满足各种应用层次的要求,所以PIC 8位单片机的型号特别多,正因为如此,给初学者带来学习上的不便,易使初学者在阅读单片机 ...… 查看全部问答> |
|
高速公路视频监控系统一般分为收费监控和道路监控两部分。收费监控系统主要是对收费站的车道、收费广场、收费亭的收费情况,对收费车道通过的车辆类型、收费员的操作过程以及收费过程中的突发事件和特殊事件进行观察和记录,实施有效的监督。道路监 ...… 查看全部问答> |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 一、 面板压缩法 利用电器面板、操作台或机外露出的各个开关、旋钮的作用做检查,大概判断故障发生的部位。比如:电视伴音时有时无,调音量旋钮,出现“喀拉”声同时伴音时有时无,由此 ...… 查看全部问答> |
|
wince5 响应右键时事 cannot execute program 添加相应的头文件和库 但执行时 if(::SHRecognizeGesture(&shrg) == GN_CONTEXTMENU)//长按键消息 { } 在这条语句出现了& ...… 查看全部问答> |
|
现在采用的三星的 K9FXX 1G byte 的nand, XIPKERNAL.NB0 < 2M NK.NB0 = 20MB, 启动的时间居然要 10s 左右,load XIPKERNAL.NB0 到 RAM 中, 从跳到OS 入口到 Explorer 出来需要6~7s, 先在想问一下,multi b ...… 查看全部问答> |
|
产品:PDA设备,CPU:PXA270 起因:电源管理中,PDA有两种供电模式:1,电池; 2.外部电源或USB供电 当当前PDA是电池供电时,在CE系统的桌面的下方(任务栏上)无图标,在控制面板的电源管理中显示是电池 ...… 查看全部问答> |
|
我先要做的是一个定点实数的倒数运算,我用16bit的数表示范围为1.0~15.0的实数,用4bit表示整数,11bit表示小数我的思路是先把1.0~15.0做倒数, 然后扩大2048倍(右移11位), 但是如果我要精确运算的话,要从 ...… 查看全部问答> |
|
提到ARM大家都能如数家珍的列出几个公司来:NXP, Samsung等。提到TI的ARM,很多人会惊讶地说TI还在做ARM呀?!是的TI在做ARM,而且TI做ARM已经不是新鲜事了,TI最早获得ARM的授权已经是1993年的事了“1993 * 为 Cirrus Logic 和 ...… 查看全部问答> |




