这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » MSP430 C语言的关键字扩展

共1条 1/1 1 跳转至

MSP430 C语言的关键字扩展

高工
2013-10-25 15:59:02     打赏

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; //定义了看门狗的寄存器。

扩展阅读:单片机C语言基础编程源码八则




关键词: 基础知识    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]