当前位置:首页 > 技术心得 > 正文内容

MSP430 C语言的关键字扩展

xjtudll17年前 (2010-02-24)技术心得12990

1.interrupt 用于中断函数。
定义如下:
语法: interrupt void 函数名()  
       或者
       interrupt[中断向量]void 函数名()
参数:中断函数没有参数。中断函数需要指定中断向量。
返回:中断函数一般是void,没有返回。
说明:interrupt关键字声明了在处理器发生中断时调用;函数的参数必须为空

2.monitor 使函数进入原型(atomic)操作状态。
定义如下:
语法:monitor 函数类型 函数名(参数表)
参数:该函数可以有参数,也可以没有参数。
返回:函数可以有返回,也可以没有返回。
说明:monitor关键字使得在函数执行期间禁止中断,使函数执行不可中断;在其它所有方面,有monitor声明的函数则与普通函数相同。

3.no_init
语法:no_init 变量声明
说明:在默认情况下,MSP430的C语言编译器将变量存放在主RAM中,并在启动时对其进行初始化。no_init类型修正符使编译器把变量放在非易失RAM区中(如EEPROM、FLASH等),在启动时也不对它们进行初始化。在no_init变量的声明中,不能含有初始化。如果用了非易失RAM,连接时要安排在非易失RAM区,地址范围为0x0000~0xFFFF。实际可用范围是0x200~0xFFDF.

4.sfrb  用于声明单字节I/O数据类型对象。
语法:sfrb 标识符=常量表达式
说明:sfrb表示一个I/O寄存器,具有以下特点:等价于无符号字符,只能直接寻址,它驻留地址范围0x00~0xFF之内,例如:sfrb PxOUT =0x0021;  定义了Px端口的输出寄存器

5.sfrw  用于声明双字节I/O数据类型对象。
语法:sfrw 标识符=常量表达式
说明:sfrw表示一个I/O寄存器,具有以下特点: 等价于无符号字符,它只能直接寻址,它驻留地址范围0x100~0x1FF之内,例如:sfrw WDTCTL =0x0021; //定义了看门狗的寄存器。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/46/

标签: CMSP430
分享给朋友:

“MSP430 C语言的关键字扩展” 的相关文章

IAR如何生成Hex文件

IAR如何生成Hex文件

MSP430在用JTAG下载的时候,Hex文件是用不上的。但是如果用Proteus仿真的话(只有Proteus 7.6及其以上版本才支持MSP430仿真),只支持Hex文件仿真,所以有必要输出Hex文件。 打开IAR的工程选项,选中左边栏的Linker,如图所示。 勾中【Output file】...

STM32串口发送数据首字符丢失解决办法

STM32串口发送数据首字符丢失解决办法

现象: 串口发送数据时,第一个字符丢失 例如,发送“system init\r\n”,最后收到的是“ystem init\r\n”,在此之后发送的数据均正常。 错误代码: 原因分析: TC 和 TXE 标志位在复位的时候被置1 ,这样第一次whil...

Altium Designer中长方形焊盘的制作

Altium Designer中长方形焊盘的制作

常用的焊盘多为圆形或者正方形。有时候需要制作长方形的,方法如下。 比如下面的一个连接器的封装: 其中的1、2、3脚为长方形,制作方法如下图所示。 放置焊盘后,如下图所示设置:...

Altium避开某些区域覆铜

Altium避开某些区域覆铜

覆铜的时候,有时候会有些地方不能覆铜。例如下图,如果想在A区域覆铜,而B区域不覆铜。该怎么办呢?? 网上有云: 1、B画keepout层,然后再覆铜,这样B就可避开覆铜。 2、B区域放置一个同等大小焊盘,然后覆铜。 以上方法均不怎么完美,重新覆铜的画有可能会影响覆铜的形状。 其实Altium已经自...

source insight导入配置文件

source insight导入配置文件

Source insight的配置文件默认路径如下:\Documents\Source Insight\Settings 中文版本的在: \我的文档\Source Insight\设置 option -- load configuration可以选择source insight使用的配置文件。 &...

mysql服务无法启动 服务没有报告任何错误

mysql服务无法启动 服务没有报告任何错误

参考资料: http://bbs.csdn.net/topics/391851148 问题描述: 使用net start mysql启动MySQL服务时,提示:MySQL服务无法启动,服务没有报告任何错误。如下图所示: 可能原因: data目录里已经有数据里,所以有冲突。 解决办法: 1、删...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。