
MSP430 c语言编程问题
#defineDEFC(name,address)__no_initvolatileunsignedcharname@address;当中这个volatile在这表示啥,...
#define DEFC(name, address) __no_init volatile unsigned char name @ address;
当中这个volatile 在这表示啥,name @ address,中间这个@有啥作用,这一整句的意思是啥? 展开
当中这个volatile 在这表示啥,name @ address,中间这个@有啥作用,这一整句的意思是啥? 展开
2个回答
展开全部
volatile 是C语言的关键字,简单的说,是用来阻止编译优化的。这个可以查百度百科,说的很详细。
@ 是IAR的语法,不是C语言的标准语法。简单的说,就是指明变量的地址是在什么位置。
宏定义的作用主要是文字替换,主要还是看展开之后的内容。
比如:
#define IFG1_ (0x0002u)
DEFC( IFG1 ,IFG1_)
展开之后 的内容
__no_init volatile unsigned char IFG1 @ 0x0002u
这个意思就很比较好理解了。
@ 是IAR的语法,不是C语言的标准语法。简单的说,就是指明变量的地址是在什么位置。
宏定义的作用主要是文字替换,主要还是看展开之后的内容。
比如:
#define IFG1_ (0x0002u)
DEFC( IFG1 ,IFG1_)
展开之后 的内容
__no_init volatile unsigned char IFG1 @ 0x0002u
这个意思就很比较好理解了。

2025-07-16 广告
深圳市芯火半导体有限公司(简称:芯火半导体)成立于2018年6月,是一家专业电子元器件代理销售企业,业务涉及元器件现货供应、期货订购、中小批量BOM配单、工厂呆料回收、PCBA工程服务等,已成为众多大型企业指定元件长期供应商,公司拥有超过3...
点击进入详情页
本回答由芯火半导体提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询