10004|17

7172

帖子

195

TA的资源

五彩晶圆(高级)

楼主
 

【MSP430共享】MSP430的学习开发经验(持续楼层更新) [复制链接]

也许我们都可以自学MSP430单片机,

也许我们都可以自己探索一条康庄大道,

也许我们都可以自己做的很好,

但是,

别人的道路

也许我们可以借鉴

 

 

 

MSP430学习开发经验(更新至第6篇).pdf (338.93 KB, 下载次数: 490)

(给大家持续更新430的学习开发经验,希望对大家有所帮助)【转载】

 

 

 

 

 

 

一:

以下是在使用
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被初始化。文件430\src\lib\lowinit.c给出了框架,copy到项目目录中使用,文件中有一定的使用说明。

(2) 若__low_level_init()中添加代码不能满足要求,则把430\src\lib\cstartup.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型数组效率最高,其他类型的数组在索引时,都采用了乘法

 

[ 本帖最后由 常见泽1 于 2011-9-10 12:52 编辑 ]

最新回复

顶起,很棒的总结  详情 回复 发表于 2015-6-3 16:24
 
点赞 关注

回复
举报

7172

帖子

195

TA的资源

五彩晶圆(高级)

沙发
 
二:
开发MSP430系列,网上的资源很多。TI给各位提供了那些资源呢?
     总的说来,TI给工程师提供了七种资源:用户指南,数据手册,应用报告,参考代码,选型指南,工具和免费软件。

(1)用户指南:英文名叫User Guides,目前根据MSP430型号的分类分别有4XX,2XX,1XX三种。用户指南包括的内通主要是MSP430的CPU架构,指令集,寻址方式,I/O,TIMER,寄存器,中断,各个功能模块(如ADC,DAC,OA,LCD)的原理,操作,寄存器等等430最核心的东西。国内那些430的中文书都是照这个来翻译的。推荐大家尽量的多读这个,这样才能把430搞的得心应手。

(2)数据手册:英文名叫DATASheet,MSP430单片机的每一个型号都有一本数据手册。它主要是记载的你所使用的MSP430的电气参数,RAM情况,I/O分布,Flsash分布,模块/IO复用原理,各个功能模块的电气特性,封装尺寸等。数据手册是针对具体的一款型号的,在开发当中,需要根据数据手册的一些参数特性来确定自己的原理图,PCB等。

(3)参考代码:TI为你写的参考程序,里面有各种指令,各个模块不同模式的操作等等。TI提供的代码非常丰富,所以很多工程师在开发中是直接COPY参考代码了,然后根据需求修改一下。

(4)选型指南: 英文名为 Product Brochure,上面列举了所有的MSP430型号,各个型号间的差别以及1K以内的参考售价。
选型指南的下载地址:
http://www-s.ti.com/sc/techlit/slab034

(5)应用报告:英文名Application Notes,是TI将全世界的MSP430应用写成一篇篇的论文,然后附上程序,原理图给大家,帮助大家更快的设计出自己的产品。目前TI共提供200多篇应用报告,包括了消费类电子,医疗,仪器仪表,工业控制,通信,等等领域。应该说应用报告是TI 430的结晶。

(6)工具和免费软件:TI为各位工程师提供了价廉的USB和并口开发工具,并且将原理图公布。TI也为大家提供了两种版本的开发软件。一种为4K C语言限制的KICKSTART版本,一种为30天时间限制的版本。
TI工具和免费软件的下载地址:
http://focus.ti.com/mcu/docs/dev ... 430_desres_devtools
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

板凳
 
三:
MSP430硬件IIC操作外存经验
近来终于调通了硬件IIC,

主要问题有如下:

1,要多上学习讨论技术网站,技术的就是经验,我也是靠上网,学习

硬件:

1,串口配置好后要一个延时,不能马上用

2,时钟分频为16,我的就是分12时不成功!!

3,有时要硬件复位,下载时

4,要用示波器观看SCL,SDA线,是否合IIC协议(不合有时要拨插线)

5,要读好TI官方例程

6.从机地址,如10100010要写为0X51,均右移一位!!

7写后不能马上读,也要一个延时

8端口号要明确一下是输入还是输出,这有时对初始化很重要!!
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

4
 
阅读本刊所载的何立民教授《按平台模式设计的虚拟I2C总线软件包VIIC》(简称何文)一文后,深感可以将这一方法推广到别的单片机上,这样使用户可利用通用I/O口的模拟,随意规定虚拟I2C总线端口,扩大了虚拟I2C总线应用的灵活性。根据文中所提出的前归一化和后归一化等设计原则,本人设计了基于MSP430单片机的虚拟I2C总线软件包VIIC_M1.0。

一、VIIC_M1.0软件包的组成

  根据归一化设计的要求,主方式下虚拟I2C总线由下列10个子程序组成:

  ①  时序模拟子程序4个:

  I2C_Sta,I2C_Stop,I2C_Mack,I2C_Mnack

  ②  操作模拟子程序3个:

  I2C_Ackn, I2C_WR_Byte, I2C_RD_Byte

  ③  数据读写子程序3个:

  I2C_WR_NByte,I2C_RD_NByte,I2C_WR_Addr

  下载软件包的程序清单[3K大小]

二、应用对象

  1. MSP430单片机

  MSP430单片机为低功耗的16位单片机,有MSP430×11x、MSP430×112、MSP430×1101、MSP430×13x、MSP430×14x、MSP430×31x、MSP430×32x、 MSP430×33x等型号,每种芯片都有丰富的I/O端口。

  本设计所使用的芯片为MSP430E325。

  (1)  虚拟I2C总线所使用的I/O端口

  ①  数据线(SDA)使用的是通用端口P0中的 P0.7。该端口为输入/输出双向口,有输入寄存器(P0IN)、输出寄存器(P0OUT)及方向寄存器(P0DIR)等寄存器,通过字节指令访问。

  ②  时钟线(SCL)使用的是通用定时器/端口TP中的TP.1。该端口为输出口,有定时器/端口控制寄存器(TPCTL)、定时器/端口数据寄存器(TPD)及定时器/端口允许寄存器(TPE)等,通过字节指令访问。

  (2)  运行时所使用的时钟频率

  MSP430E325运行时用两个时钟:辅助时钟(ACLK)和主时钟(MCLK)。当采用32768kHz的晶体振荡器,并且系统时钟控制寄存器采用缺省值时,主时钟的频率为1.049MHz。

  若主时钟的频率不是1.049MHz,请适当调整程序中nop的个数。

  2. EEPROM器件

  (1)  EEPROM器件

  本例使用的EEPROM器件为24LC65(MICROCHIP)。24LC65(MICROCHIP)容量为8KB,其中的字节地址为13位,分两个字节:

  Subaddr_H为高5位地址;

  Subaddr_L为低8位地址。

  24LC65(MICROCHIP)的封装引脚如图1所示。


图1  24LC65的封装引脚

  (2)  24LC65的数据格式

  ①  当前地址写:

  S,SLA+W,A,DATA1,A,DATA2,A,…,DATAn,A,P

  ②  当前地址读:

  S,SLA+R,A,DATA1,A,DATA2,A,…,DATAn,/A,P

  ③  指定地址写:

  S,SLA+W,A,Subaddr_H,A,Subaddr_L,A,DATA1,A,DATA2,A,…,DATAn,A,P

  ④  指定地址读:

  S,SLA+W,A,Subaddr_H,A,Subaddr_L,A,

  S,SLA+R,A,DATA1,A,DATA2,A,…,DATAn,/A,P

  其中:

  SLA+W,SLA+R,Subaddr_H,Subaddr_L 为主控器件发出的数据

  S,A,/A,P 为主控器件发出的信息

  DATA1,DATA2,…,DATAn 为被控器件发给主控器件的数据

  A 为被控器件发给主控器件的信息

  (3)  24LC65与MSP430-325的连接

  24LC65与MSP430-325的连接如图2所示。


图2  MSP430与EEPROM 24LC65连接示意图

三、应用界面

  1. 发送N字节数据--从当前地址开始

  ;发送的数据在MTD中  ;

  ;数列格式: S,SLA+W,A,Subaddr_H,A,Subaddr_L,A,DATA1,A,DATA2,A,…,DATAn,A,P  ;

  MOV.b #CODE,SLA ;I2C_R_R/W=0,

  ;A0=A1=A2=0

  MOV.b #N,Num_byt ;发送字节数

  CALL I2C_WR_Nbyte ;从当前地址开始写

  2. 接收N字节数据--从指定地址开始读

  ;接收的数据在MRD中   ;

  ;数列格式:S,SLA+W,A,Subaddr_H,A,Subaddr_L,A,

  S,SLA+R,A,DATA1,A,DATA2,A,…,DATAn,/A,P

  MOV.b #CODE+SLAR/W,SLA

  ;SLAR/W=1,A0=A1=A2=0

  MOV.b #N,Num_byt ;接收字节数

  CALL #I2C_RD_Nbyte ;从当前地址开始读

  3. 接收N字节--从指定地址开始读

  ;接收的数据存放在MRD中   ;

  ;数列格式:S,SLA+W,A,Subaddr_H,A,Subaddr_L,A,

  ; S,SLA+R,A,DATA1,A,DATA2,A,…,DATAn,/A,P   ;

  MOV.b #CODE,SLA

  ;SLAR/W=0:写,A0=A1=A2=0

  MOV.b #N,Num_byt ;接收字节数

  MOV #Subaddr,I2C_R_Addr

  ;字节地址送入暂存单元

  CALL #I2C_WR_Addr ;发送字节地址

  MOV.b #CODE+SLAR/W,SLA

  ;SLAR/W=1:读,A0=A1=A2=0

  CALL #I2C_RD_Nbyte

  4. 发送N字节--从指定地址开始写

  ;数列格式: S,SLA+W,A,Subaddr_H,A,Subaddr_L,A,DATA1,A,DATA2,A,…,DATAn,A,P

  ;

  MOV.b #CODE,SLA

  ;SLAR/W=0:写,A0=A1=A2=0

  MOV.b #N,Num_byt ;发送字节数

  MOV #Subaddr,I2C_R_Addr

  ;字节地址送入暂存单元

  CALL #I2C_WR_Addr ;发送字节地址

  CALL #WR_Nbyte

  后记:

  ①  如果使用MSP430中别的I/O端口,只需要在模拟时序子程序中改动相应的寄存器即可。本例中时钟线使用TP口,是因为它为输出口,在程序中可以节省指令。

  对于24C系列的其它芯片,由于容量不同,请特别注意其字节地址是1个字节还是2个字节。本例的24LC65字节地址就是2个字节的。

  ②  MSP430系列的单片机本人是初学使用,程序虽经初步调试通过,轻易抛出,主意在为引玉之砖,作为学习何文的一点体会。缺点和错误在所难免,望各位不吝指教。
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

5
 
五:

从99年第10届全国单片机展示会上(当时在杭州大学举办的)认识MSP430,呵呵,那个时候FLASH的只有F1101,F1121等初级芯片,觉得这个玩意还有点特殊,尤其可以JTAG调试,免了个编程器

从2002年开始折腾这个系列,低功耗,流行的SOC结构,适合做智能仪表的MSP430开始吸引我了.呵呵,下面我将说说开发至今遇到的一些另类问题,跟大家切磋下.

不管是N年前的1.21/1.26版本,还是现在的3.10/3.40版本,IAR一直是我用的最多的一个编译/调试器,玩MSP430不可能不接触到这个 那我就以IAR调试为例来说说了咯

原始级 问题,一般是刚开始入门的哥们姐们要遇到的问题

1, 接上仿真器,发现不能下载,这个问题想必大家都有遇到过,IAR提示找不到目标!??

    可能的原因:  A 并口驱动能力不足,在电脑的BIOS界面下设置成ECP或者       ECP+EPP模式

                      B JTAG线太长,一般超过20CM不推荐,而且这个线最好不要交叉缠绕,会影响实时在线调试

                      C 你的负载太大,一般功耗相对比较大,电流超过20MA以上的板子,建议用外接电源,要不光靠并口那点驱动能力,那MCU的电压就要被拉低到不能写FLASH了,呵呵

2, 程序下载到一半,突然告警并报错,说某某地址写不进去!??倒~~我开始也以为是FLASH被写坏了,呵呵,其实MSP430的FLSH没这么脆弱

   可能的原因:  A 芯片的复位电路引起的,在写FLASH的时候,会造成系统电压的一些波动,可能导致芯片复位,而为什么都是写到这个地址才错,那是IAR的问题,改用BSL再烧一边,就可以克服了

                     B 芯片有可能死机了,给断电,拔掉JTAG没,稍后再试,一般没有问题

                     C 如果都不是上述的方法能解决的,告诉你一个更酷的办法,给芯片上电,电压=3.6V,重新写一次,一定OK.为什么,写不进FLASH主要是F1XX系列的写FLASH电压不能低于2.7V,一般2.5V以下才不能真正工作,因此用3.6V电压,什么样的片子都能写回来(BTW,到现在为止,我还没写坏过一片MSP430的FLASH)

3, 关于3.40以上版本的仿真器设置问题.

说实在的,真正开发起来,我都不太愿意随便换IAR的版本,有些语法不兼容,有些设置不一样,不花点时间开 WHAT'S NEW,就要到BBS上去发贴了,呵呵

最近装了3.40的 限制版,一路NEXT,好象没什么特别的地方,装好后发现芯片的选择余地多了很多,包括了F2XX,N多种类,哈哈再上硬件FET接着跑个DEMO看看,居然不成,报错!!

原来:  在仿真栏目里选好 FET 硬件仿真以后,还有一项是访真器的选择,我倒~

没仔细看的哥们姐们一定纳闷,为啥还要搞个 LPT || J-LINK || TI-USB ,更滑稽的是IAR居然认为现在大伙都有米买USB的FET,默认选项是 TI-USB,那就是这个问题咯,改成 LPT(并口FET) 就完事了。
   另类级问题

1, F1611大数组定义,不能正常运行的问题

   相信有不少朋友已经用上了F1611,这个RAM大大的MSP,呵呵.那就有可能会遇到 RAM中定义的变量/数组在超过一个极限的时候,MSP程序不能正常运行的现象吧.一般初步判断,可以用I/O输出电平 来 确定程序进程.这样可以非常方便的知道该问题是由于WDT造成的,哈哈 (RAM的初始化时间大于WDT默认的32MS时间,因此MSP复位)

下面来看下解决的办法:

A  对你的数组用 __no init_定义,上电编译器不产生特殊的附加函数去初始化RAM

B  修改IAR中Cstartup.S43文件中__program_start子程序,增加一个关闭WDT的操作或者设置WDT时间长度超过32MS

C  在Project--Options--Linker--Config中选择 Override default programe,并将
Entry lib 设置成 __program_start

上述是已知解决1611RAM初始化时间超WDT默认而复位的解决方法,如果用汇编,则没有这个问题

2,SVS导致MSP "坏死" 问题

去年开发一款仪表,用上了F425,只怪这个玩意口线太少,只能把能用上的功能模块都赶上了.SVS在F42X里可是个不错的模块,外部设计可以节约一个VD,成本和空间,呵呵

意外的是,我将这个SVS的电压设置在3.3V,结果一次JTAG写入后,那板子便没有再起来工作,刚开始以为真的写废了这个MSP,后来想判断下MCU是否还能工作,接上电源和电流表,发现电流有周期性跳跃----倒~~该MCU正在被SVS复位中

重新加电压,超过3.3V,修改设置,重写FLASH,一切搞定

希望能给用SVS和SVS+的朋友起个提醒的作用,呵呵,有时这个问题还不太容易被发现

3,I/O电压供电居然也行?

在设计低功耗设备时,有时我们经常用MCU的引脚给一些IC供电,这个方案我最早用在PIC的单片机上,前人的经验,照着抄没错 MSP430当然也没问题

有兴趣的朋友不仿可以试试,DVCC/AVCC不接,直接从某个I/O加电压,MCU照样能跑哦.这个问题大家要注意的,可能是好事,也可能很麻烦

但是在做硬件设计的时候一定要想清楚了,I/O可以供电给其他IC,当然也能从其他IC中取电,在一些设计中,MCU的静态功耗降不下来,尤其是设计变送器,4`20MA双线制设备上,要谨慎处理.
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

6
 
六:

【新手学习MSP430入门方法】


【摘要】新手入门--学习MSP430单片机相关工具及如何得到工具

     在我们懂得使用MSP430(以下我们简称430)之前,当然一点就是我们先要了解下430单片机的一些基础知识,如前面几节我们所介绍到TI 430的一些发展历程及其优点,和他是命名规则,选型等等.接下是开始学习MSP430单片机了.
首先,我们当然第一步要学习430单片机的内站硬件基础知识.学习基础知识最好的方法是文武并进;文-则指学好片内模块的资源知识.武-则指你的动手能能力.边基础知识,边动手实操,这是一个非常有效的学习方法.文武并进如虎添翼...

【书籍】
     学习基础知识的方法是如何较好较快地了解到片内的硬件知识,在此我们建议几本好书给大家.这几本书写得很不错.比较适合新手入门的首选.

   硬件方面
   1-<> 沈建华 杨艳琴 翟骁曙 清华大学出版社

   2-<> 胡大可 北京航空航天大学出版社

   C语言方面
   1-<> 人民邮电出版社

   2-<> 胡大可 北京航空航天大学出版社

   缩合应用
   1-<>   中国电力出版社
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

7
 
七:

关于MSP430的下载程序问题
IAR往MSP430下载程序,用的是Emulator,U口的仿真器;
现在下载程序出现一个很要命的问题,每次点击download and debugger之后,开始下载,能够看到下载完成的进度条,但是下载完了之后IAR就死了。没有响应了

具体原因是:MSP430的供电电源输入处,本应该焊一个电容的,这个电容用于电源滤波,结果焊成了一个10K的电阻,这个电阻与另外一个电阻分压,导致供电不足。
教训就是:有了问题先检查硬件!
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

8
 
八:

MSP430单片机开发总结
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的声明
 
 
 

回复

95

帖子

120

TA的资源

一粒金砂(中级)

9
 
:rose: :rose: 支持
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

10
 

回复 9楼 刹那光辉 的帖子

中秋节快乐 哈哈哈
 
 
 

回复

26

帖子

0

TA的资源

一粒金砂(中级)

11
 
好精辟的总结,羡慕ing
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

12
 

回复 11楼 yddinxidian 的帖子

哈哈  都是转载的 嘿嘿
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

13
 
谢谢楼主分享
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

14
 

回复 13楼 forcheer 的帖子

不谢不谢 继续努力 哈哈
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

15
 
太棒了
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(初级)

16
 
谢谢了, 看看很收益
 
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

17
 

太好了 顶起!!

太好了 顶起!!
 
 
 

回复

458

帖子

1

TA的资源

一粒金砂(高级)

18
 
顶起,很棒的总结
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表