智能车制作

标题: 程序里面几个语句不大理解 [打印本页]

作者: ryansering    时间: 2009-10-20 10:49
标题: 程序里面几个语句不大理解
以MCU为名的头文件里有以下两个语句

1      extern volatile PITTFSTR _PITTF @(REG_BASE + 0x00000345);

以及

2         struct {
    byte grpPTF  :4;
    byte         :1;
    byte         :1;
    byte         :1;
    byte         :1;
  } MergedBits;

(红色是自己标的)

不大明白啊
1   @是个什么意思

赋值时  :1又是什么意思· ·
作者: librae8226    时间: 2009-10-20 18:19
第一个应该是基址加变址寻址吧!
第二个是单片机C语言中位段的建立,MergedBits是具有这种结构的变量。
作者: ryansering    时间: 2009-10-20 18:33
2# librae8226

  能具体一些么
    那个:以及后面那个@在语句中分别起什么作用
作者: librae8226    时间: 2009-10-20 18:41
你可以看一下单片机C语言的书,一般都有关于位段的介绍,冒号后跟的是这个变量的哪些位。
比如前4位用成员变量grpPTF来表示。
定义位段是为了方便于操作一个变量的某个或者某些位,因为C的位操作能力一般来说没有汇编强。
作者: ryansering    时间: 2009-10-20 18:44
4# librae8226

   是段操作里面的么
   知道了
    谢谢你啊
作者: librae8226    时间: 2009-10-20 18:50
也叫位域,单片机C里提供了这种操作,不过针对不同的单片机还是有一些小差别的
呵呵,我也刚学,一起研究吧~




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2