Forums

位字段?

开始于 uran ... @ gmail.com 2013年10月18日
MISRA不使用位域的原因之一是因为它们不
便携式的。当您在家从事自己的项目时,没人能告诉你
使用什么或如何编写代码,但是何时必须创建可移植的
您必须重新考虑使用bitfeld的多个项目的代码。
MISRA =“汽车工业软件可靠性协会”;

*-
Dragos Condurache *
锡比乌美国大陆汽车系统公司软件开发工程师
0755-685-983

在2013年10月21日星期一上午9:49,大卫·布朗写道:

>
>MISRA并不是良好编程风格的指标-仅仅是一个
>指示MISRA标准允许的内容。有好
>具有特定标准的原因,尤其是在特定内部
>领域(汽车软件)-但不要犯所有思考的错误
>MISRA规则是/ good /规则。其中很多可以被替换
>“编写结构化代码”和“获得具有不错的静态错误的编译器”
>检查,启用警告并编写无警告代码”-然后您
>可能会丢掉MISRA强迫您执行的许多最糟糕的风格(例如
>尤达风格的比较)。
>
>位域不是由C标准定义的,但是它们的顺序是/ is /
>由任何给定的目标编译器对使用的ABI定义。在里面
>在大多数情况下(对于体面的处理器,包括msp430),ABI
>对于同一目标的所有编译器都一致。所以当你
>无法保证MSP430的位字段顺序相同
>与ARM Cortex M3一样,您可以确保订购顺序相同
>对于具有IAR,gcc,CCS等的msp430。您可以/ very /确保
>对于您的工具链附带的标题,订购是正确的。
>
>移位和遮罩的使用显然有其位置-对于某些用途,它是
>最好的解决方案。但是对于其他人来说,位域更好,因为它们具有
>明显的优势-主要是它们与真实位域相关
>到相关寄存器。格式如下:
>
>IE2.UCA0TXIE = 1;
>
>比以下代码更清晰,更安全:
>
>IE2 | = UCA0TXIE;
>
>因为如果“ IE2”没有一点,前者将无法编译
>名为“ UCA0TXIE”-而后者将可以正常编译,而无法
> get a warning.
>
>MISRA在这一点上是绝对错误的。
>
> mvh.,
>
> David
>
>13年10月20日22:43,路易斯·菲利普·罗西(Luis Filipe Rossi)写道:
> >
> >
> >对于大多数应用,不建议使用位域。如MISRA所述,
> >它的实现定义不明确,因此您可以获得不同的结果
> >在不同的编译器之间。
> >
> >
> >2013年10月20日,星期日,比尔·奈特,上午10:55 > > > wrote:
> >
> > __
> >
> >
> >另外,如果硬件需要它,您可以同时设置,
> >通过以下操作在同一寄存器中清除位和无操作位:
> >
> >P1DIR =((P1DIR&〜(BIT4 | BIT7))| (BIT3 | BIT5 | BIT6));
> >
> > Regards
> > -Bill Knight
> > R O SoftWare
> >
> >
> >
> >2013年10月19日下午8:46,o ... @ yahoo.com
> > wrote:
> >>通过io430g2553.h,您可以使用以下语句:
> >>P1DIR_bit.P3 = 1;
> >>P1DIR_bit.P4 = 0;
> >>P1DIR_bit.P5 = 1;
> >>P1DIR_bit.P6 = 1;
> >>P1DIR_bit.P7 = 0;
> >>
> >>使用msp430g2553.h,您可以通过以下方式进行操作:
> >>P1DIR | = BIT3 + BIT5 + BIT6;
> >> P1DIR &= ~(BIT4+BIT7);
> >>
> >>顺便说一句,io430g2553有2796行,而msp430g2553.h有986行。
> >>
> >>
> >>
> >>
> >>
> >> ---In m... ,
> >> wrote:
> >>
> >>不推荐使用的头文件io430g2553.h具有这些定义。
> >>使用| =设置位和&=清除更多位
> >>高效。您也可以使用^ =翻转位。
> >>
> >>
> >>
> >> ---In m... ,
> >> wrote:
> >>
> >>嗨!我是新手,开始学习MSP430G2553。我读了一本书
> >>在第3.2章中名为“ MSP430单片机基础”。这本书
> >>介绍头文件的位字段结构。但是我
> >>在msp430g2553头文件中找不到位字段定义。
> >>如果我想读或写单曲,这会给我带来麻烦
> >>寄存器的位。有什么新方法可以读取或写入单个
> >>有点像g2553中的位域结构?还是我应该写
> >>我自己的头文件?
> >
> >
> >
> >
> > --
> > Lu Filipe Rossi
> > Electrical Engineer
> >生物机电一体化实验室。 / Grupo de Sensores Integreis e Sistemas
> > Escola Politnica
> >圣保罗大学
> >塞尔+55(11)97662-9234
>
>
> Yahoo! Groups Links

MSP430入门微控制器

你好

我知道MISRA代表什么-我知道它的用途。但是我
还知道其许多规则对嵌入式软件不利
发展。有些人借口降低了某些疾病的风险
如果您拥有糟糕的质量工具,就会犯错误的类型-不幸的是,
一些常用工具/质量较差。

确实,位域存在可移植性问题。但是有/ no /
与质量工具一起使用位域的问题,并且/ no /
使用已确认对工具链正确的位域的问题
您正在使用。使用工具链中定义的位域时
标头以匹配您正在使用的设备,具有/ no /可移植性
编译器
同一台设备的位域顺序不同,
具有新顺序的标题,或者没有位域标题。
无论哪种方式,您都有/ no /成功编译不正确代码的机会。

而且因为位域将字段与主体结构联系得更多
与轮班和掩盖相比,它们减少了错误的风险。
因此,它们是一个好主意,有助于更安全,更可靠
开发过程。

mvh。,

大卫
在13/10/21 20:23,DRAGOS Condurache写道:
>MISRA不使用位域的原因之一是 because they are not
>便携式的。当您在家从事自己的项目时,没人能告诉你
>使用什么或如何编写代码,但必须在何时创建
>用于多个项目的可移植代码,您必须重新考虑使用bitfeld。
>MISRA =“汽车工业软件可靠性协会”;
>
> *--
> Dragos Condurache*
>锡比乌美国大陆汽车系统公司软件开发工程师
> 0755-685-983
>
>2013年10月21日,星期一,上午9:49,David Brown > > wrote:
>MISRA并不是良好编程风格的指标-仅仅是一个
>指示MISRA标准允许的内容。有好
>具有特定标准的原因,尤其是在特定内部
>领域(汽车软件)-但不要犯错误的思维 all
>MISRA规则是/ good /规则。其中很多可以替换 by
>“编写结构化代码”和“获得具有不错的静态错误的编译器”
>检查,启用警告并编写无警告代码”-然后您
>可能会丢掉MISRA强迫您执行的许多最糟糕的风格(例如
>尤达风格的比较)。
>
>位域不是由C标准定义的,但是它们的顺序是/ is /
>由任何给定的目标编译器对使用的ABI定义。在里面
>在大多数情况下(对于体面的处理器,包括msp430),ABI
>对于同一目标的所有编译器都一致。所以当你
>无法保证MSP430的位字段顺序相同
>与ARM Cortex M3一样,您可以确保订购顺序相同
>对于具有IAR,gcc,CCS等的msp430。您可以/ very /确保 the
>对于您的工具链附带的标题,订购是正确的。
>
>移位和遮罩的使用显然有其位置-对于某些用途, is
>最好的解决方案。但是对于其他人来说,位域会更好 a
>明显的优势-主要是它们与真实位域相关
>到相关寄存器。格式如下:
>
>IE2.UCA0TXIE = 1;
>
>比以下代码更清晰,更安全:
>
>IE2 | = UCA0TXIE;
>
>因为如果“ IE2”没有一点,前者将无法编译
>名为“ UCA0TXIE”-而后者将可以正常编译,而无法
> get a warning.
>
>MISRA在这一点上是绝对错误的。
>
> mvh.,
>
> David
>
>13年10月20日22:43,路易斯·菲利普·罗西(Luis Filipe Rossi)写道:
> >
> >
> >对于大多数应用,不建议使用位域。如中所述
> MISRA,
> >它的实现定义不明确,因此您可能会有所不同
> results
> >在不同的编译器之间。
> >
> >
> >2013年10月20日,星期日,比尔·奈特,上午10:55 >
> > >> wrote:
> >
> > __
> >
> >
> >另外,如果硬件需要它,您可以同时进行 set,
> >通过以下操作在同一寄存器中清除位和无操作位:
> >
> >P1DIR =((P1DIR&〜(BIT4 | BIT7))| (BIT3 | BIT5 | BIT6));
> >
> > Regards
> > -Bill Knight
> > R O SoftWare
> >
> >
> >
> >2013年10月19日下午8:46,o ... @ yahoo.com
>
> > > > wrote:
> >>通过io430g2553.h,您可以使用以下语句:
> >>P1DIR_bit.P3 = 1;
> >>P1DIR_bit.P4 = 0;
> >>P1DIR_bit.P5 = 1;
> >>P1DIR_bit.P6 = 1;
> >>P1DIR_bit.P7 = 0;
> >>
> >>使用msp430g2553.h,您可以通过以下方式进行操作:
> >>P1DIR | = BIT3 + BIT5 + BIT6;
> >> P1DIR &= ~(BIT4+BIT7);
> >>
> >>顺便说一句,io430g2553有2796条线,而msp430g2553.h有986条线
> lines.
> >>
> >>
> >>
> >>
> >>
> >> ---In m...
> >,
> >> >
> >
> wrote:
> >>
> >>不推荐使用的头文件io430g2553.h具有这些定义。
> >>使用| =设置位和&=清除更多位
> >>高效。您也可以使用^ =翻转位。
> >>
> >>
> >>
> >> ---In m...
> >,
> >> >
> > wrote:
> >>
> >>嗨!我是新手,开始学习MSP430G2553。我读了一本书
> >>在第3.2章中名为“ MSP430单片机基础”。这本书
> >>介绍头文件的位字段结构。但是我
> >>在msp430g2553标头中找不到位字段定义 file.
> >>如果我想读或写单曲,这会给我带来麻烦
> >>寄存器的位。有什么新的读写方式
> single
> >>有点像g2553中的位域结构?还是我应该写 the
> >>我自己的头文件?
> >
> >
> >
> >
> > --
> > Lu Filipe Rossi
> > Electrical Engineer
> >生物机电一体化实验室。 / Grupo de Sensores Integreis e Sistemas
> > Escola Politnica
> >圣保罗大学
> >塞尔+55(11)97662-9234

关于真正买不起的东西的很多话。

位域是一个很棒的概念。它们是不可携带的。太糟糕了。

说够了。

干杯,

达纳K6JQ
在2013年10月21日,星期一,下午1:17,大卫·布朗写道:

> **
> Hi,
>
>我知道MISRA代表什么-我知道它的用途。但是我
>还知道其许多规则对嵌入式软件不利
>发展。有些人借口降低了某些疾病的风险
>如果您拥有糟糕的质量工具,就会犯错误的类型-不幸的是,
>一些常用工具/质量较差。
>
>确实,位域存在可移植性问题。但是有/ no /
>与质量工具一起使用位域的问题,并且/ no /
>使用已确认对工具链正确的位域的问题
>您正在使用。使用工具链中定义的位域时
>标头以匹配您正在使用的设备,具有/ no /可移植性
>问题,因为代码显然不可移植(如果使用其他编译器
>同一台设备的位域顺序不同,
>具有新顺序的标题,或者没有位域标题。
>无论哪种方式,您都有/ no /成功编译不正确代码的机会。
>
>而且因为位域将字段与主体结构联系得更多
>与轮班和掩盖相比,它们减少了错误的风险。
>因此,它们是一个好主意,有助于更安全,更可靠
>开发过程。
>
> mvh.,
>
> David
>在13/10/21 20:23,DRAGOS Condurache写道:
> >MISRA不使用位域的原因之一是因为它们不
> >便携式的。当您在家从事自己的项目时,没人能告诉你
> >使用什么或如何编写代码,但必须在何时创建
> >您必须重新考虑使用的多个项目的可移植代码
> bitfelds.
> >MISRA =“汽车工业软件可靠性协会”;
> >
> > *--
> > Dragos Condurache*
>
> >锡比乌美国大陆汽车系统公司软件开发工程师
> > 0755-685-983
> > <
> //www.facebook.com/pages/Continental-Automotive-Systems-Sibiu/292150000844726?ref=br_rs
> > >
> >
> >2013年10月21日,星期一,上午9:49,David Brown > > > wrote:
> >
> >
> >MISRA并不是良好编程风格的指标-仅仅是一个
> >指示MISRA标准允许的内容。有好
> >具有特定标准的原因,尤其是在特定内部
> >领域(汽车软件)-但不要犯所有思考的错误
> >MISRA规则是/ good /规则。其中很多可以被替换
> >“编写结构化代码”和“获得具有不错的静态错误的编译器”
> >检查,启用警告并编写无警告代码”-然后您
> >可能会丢掉MISRA强迫您执行的许多最糟糕的风格(例如
> >尤达风格的比较)。
> >
> >位域不是由C标准定义的,但是它们的顺序是/ is /
> >由任何给定的目标编译器对使用的ABI定义。在里面
> >在大多数情况下(对于体面的处理器,包括msp430),ABI
> >对于同一目标的所有编译器都一致。所以当你
> >无法保证MSP430的位字段顺序相同
> >与ARM Cortex M3一样,您可以确保订购顺序相同
> >对于具有IAR,gcc,CCS等的msp430。您可以/ very /确保
> >对于您的工具链附带的标题,订购是正确的。
> >
> >移位和遮罩的使用显然有其位置-对于某些用途,它是
> >最好的解决方案。但是对于其他人来说,位域更好,因为它们具有
> >明显的优势-主要是它们与真实位域相关
> >到相关寄存器。格式如下:
> >
> > IE2.UCA0TXIE = 1;
> >
> >比以下代码更清晰,更安全:
> >
> > IE2 |= UCA0TXIE;
> >
> >因为如果“ IE2”没有一点,前者将无法编译
> >名为“ UCA0TXIE”-而后者将可以正常编译,而无法
> > get a warning.
> >
> >MISRA在这一点上是绝对错误的。
> >
> > mvh.,
> >
> > David
> >
> >
> >
> >13年10月20日22:43,路易斯·菲利普·罗西(Luis Filipe Rossi)写道:
> > >
> > >
> > >对于大多数应用,不建议使用位域。如中所述
> > MISRA,
> > >它的实现定义不明确,因此您可能会有所不同
> > results
> > >在不同的编译器之间。
> > >
> > >
> > >2013年10月20日,星期日,比尔·奈特,上午10:55 > >
> > > >> wrote:
> > >
> > > __
> > >
> > >
> > >另外,如果硬件需要它,您可以同时设置,
> > >通过以下操作在同一寄存器中清除位和无操作位:
> > >
> > > P1DIR = ((P1DIR &〜(BIT4 | BIT7))| (BIT3 | BIT5 | BIT6));
> > >
> > > Regards
> > > -Bill Knight
> > > R O SoftWare
> > >
> > >
> > >
> > >2013年10月19日下午8:46,o ... @ yahoo.com
> >
> > > >
> > > wrote:
> > >>通过io430g2553.h,您可以使用以下语句:
> > >> P1DIR_bit.P3 = 1;
> > >> P1DIR_bit.P4 = 0;
> > >> P1DIR_bit.P5 = 1;
> > >> P1DIR_bit.P6 = 1;
> > >> P1DIR_bit.P7 = 0;
> > >>
> > >>使用msp430g2553.h,您可以通过以下方式进行操作:
> > >>P1DIR | = BIT3 + BIT5 + BIT6;
> > >> P1DIR &= ~(BIT4+BIT7);
> > >>
> > >>顺便说一句,io430g2553有2796条线,而msp430g2553.h有986条线
> > lines.
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> ---In m...
> > >,
> > >> >
> > > > wrote:
> > >>
> > >>不推荐使用的头文件io430g2553.h具有这些定义。
> > >>使用| =设置位和&=清除更多位
> > >>高效。您也可以使用^ =翻转位。
> > >>
> > >>
> > >>
> > >> ---In m...
> > >,
> > >> > > > wrote:
> > >>
> > >>嗨!我是新手,开始学习MSP430G2553。我读了一本书
> > >>在第3.2章中名为“ MSP430单片机基础”。这本书
> > >>介绍头文件的位字段结构。但是我
> > >>在msp430g2553头文件中找不到位字段定义。
> > >>如果我想读或写单曲,这会给我带来麻烦
> > >>寄存器的位。有什么新的读写方式
> > single
> > >>有点像g2553中的位域结构?还是我应该写
> > >>我自己的头文件?
> > >
> > >
> > >
> > >
> > > --
> > > Lu Filipe Rossi
> > > Electrical Engineer
> > >生物机电一体化实验室。 / Grupo de Sensores Integreis e Sistemas
> > > Escola Politnica
> > >圣保罗大学
> > >塞尔+55(11)97662-9234
> >
>
您在嵌入式开发中编写的大部分内容都是不可移植的,或者
至少不能直接携带。那么,使用位域会给您带来什么损失呢?
没有。

位域是一个很棒的概念。说够了。

mvh。,

大卫
>关于真正的东西的很多话 doesn't buy much.
>
>位域是一个很棒的概念。它们是不可携带的。太糟糕了。
>
> Enough said.
>
> Cheers,
>
> Dana K6JQ
>2013年10月21日,星期一,下午1:17,David Brown > > wrote:
>
> __
>
>
> Hi,
>
>我知道MISRA代表什么-我知道它的用途。但是我
>还知道其许多规则对嵌入式软件不利
>发展。有些人借口降低了某些疾病的风险
>如果您拥有糟糕的质量工具,就会犯错误的类型-不幸的是,
>一些常用工具/质量较差。
>
>确实,位域存在可移植性问题。但是有/ no /
>与质量工具一起使用位域的问题,并且/ no /
>使用已确认正确的位域的问题
> toolchain
>您正在使用。使用工具链中定义的位域时
>标头以匹配您正在使用的设备,具有/ no /可移植性
>出现问题,因为该代码显然不可移植(如果另外
> compiler
>同一台设备的位域顺序不同,
>具有新顺序的标题,或者没有位域标题。
>无论哪种方式,您都有/ no /成功编译错误的机会
> code).
>
>而且因为位域将字段与主体结构联系得更多
>与轮班和掩盖相比,它们减少了错误的风险。
>因此,它们是一个好主意,有助于更加安全和更多
> reliable
>开发过程。
>
> mvh.,
>
> David
>
>在13/10/21 20:23,DRAGOS Condurache写道:
> >MISRA不使用位域的原因之一是因为它们不
> >便携式的。当您在家从事自己的项目时,没人能
> tell you
> >使用什么或如何编写代码,但必须在何时创建
> >您必须重新考虑使用的多个项目的可移植代码
> bitfelds.
> >MISRA =“汽车工业软件可靠性协会”;
> >
> > *--
> > Dragos Condurache*
>
> >美国大陆汽车系统公司软件开发工程师 Sibiu
> > 0755-685-983
> >
> >
> >
> >2013年10月21日,星期一,上午9:49,David Brown
>
> > >> wrote:
> >
> >
> >MISRA并不是良好编程风格的指标-仅仅是一个
> >指示MISRA标准允许的内容。有好
> >制定特定标准的原因,尤其是在 particular
> >领域(汽车软件)-但不要犯以下错误
> thinking all
> >MISRA规则是/ good /规则。他们中的很多人可能是
> replaced by
> >“编写结构化代码”和“获得具有不错的静态错误的编译器”
> >检查,启用警告并编写无警告代码”-然后您
> >可能会丢掉MISRA强迫您执行的许多最糟糕的风格(例如
> >尤达风格的比较)。
> >
> >位域不是由C标准定义的,但是它们的顺序是/ is /
> >由任何给定的目标编译器对使用的ABI定义。在里面
> >大多数情况(包括msp430在内的体面处理器),
> the ABI
> >对于同一目标的所有编译器都一致。所以当你
> >无法保证位域顺序对于 msp430
> >至于ARM Cortex M3,则可以确定订购的是
> same
> >用于具有IAR,gcc,CCS等的msp430。您可以/ very /确定
> that the
> >对于您的工具链附带的标题,订购是正确的。
> >
> >移位和遮罩的使用显然有其位置-对于某些用途,
> it is
> >最好的解决方案。但是对于其他人来说,位域更好,因为它们
> have a
> >明显的优势-主要是它们与真正的 bitfield
> >到相关寄存器。格式如下:
> >
> > IE2.UCA0TXIE = 1;
> >
> >比以下代码更清晰,更安全:
> >
> > IE2 |= UCA0TXIE;
> >
> >因为如果“ IE2”没有一点,前者将无法编译
> >命名为“ UCA0TXIE”-而后者将在没有任何编译的情况下正常编译
> way to
> > get a warning.
> >
> >MISRA在这一点上是绝对错误的。
> >
> > mvh.,
> >
> > David
> >
> >
> >
> >13年10月20日22:43,路易斯·菲利普·罗西(Luis Filipe Rossi)写道:
> > >
> > >
> > >对于大多数应用,不建议使用位域。如中所述
> > MISRA,
> > >它的实现定义不明确,因此您可能会有所不同
> > results
> > >在不同的编译器之间。
> > >
> > >
> > >2013年10月20日,星期日,比尔·奈特,上午10:55 >
> > >
> > >
> >>> wrote:
> > >
> > > __
> > >
> > >
> > >另外,如果硬件需要它,您可以同时设置,
> > >通过以下操作在同一寄存器中清除位和无操作位:
> > >
> > > P1DIR = ((P1DIR &〜(BIT4 | BIT7))| (BIT3 | BIT5 | BIT6));
> > >
> > > Regards
> > > -Bill Knight
> > > R O SoftWare
> > >
> > >
> > >
> > >2013年10月19日下午8:46,o ... @ yahoo.com
>
> > >
> > > > > >> wrote:
> > >>通过io430g2553.h,您可以使用以下语句:
> > >> P1DIR_bit.P3 = 1;
> > >> P1DIR_bit.P4 = 0;
> > >> P1DIR_bit.P5 = 1;
> > >> P1DIR_bit.P6 = 1;
> > >> P1DIR_bit.P7 = 0;
> > >>
> > >>使用msp430g2553.h,您可以通过以下方式进行操作:
> > >>P1DIR | = BIT3 + BIT5 + BIT6;
> > >> P1DIR &= ~(BIT4+BIT7);
> > >>
> > >>顺便说一句,io430g2553有2796条线,而msp430g2553.h有986条线
> > lines.
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> ---In m...
> >
> >
> >>,
> > >>
> >>
> >
> >> > wrote:
> > >>
> > >>不推荐使用的头文件io430g2553.h具有这些定义。
> > >>使用| =设置位和&=清除更多位
> > >>高效。您也可以使用^ =翻转位。
> > >>
> > >>
> > >>
> > >> ---In m...
> >
> >
> >>,
> > >>
> >> >
> >> wrote:
> > >>
> > >>嗨!我是新手,开始学习MSP430G2553。我读了一本书
> > >>在第3.2章中名为“ MSP430单片机基础”。这本书
> > >>介绍头文件的位字段结构。但是我
> > >>在msp430g2553头文件中找不到位字段定义。
> > >>如果我想读或写单曲,这会给我带来麻烦
> > >>寄存器的位。有什么新的读写方式
> > single
> > >>有点像g2553中的位域结构?还是我应该写
> > >>我自己的头文件?
> > >
> > >
> > >
> > >
> > > --
> > > Lu Filipe Rossi
> > > Electrical Engineer
> > >生物机电一体化实验室。 / Grupo de Sensores Integreis e Sistemas
> > > Escola Politnica
> > >圣保罗大学
> > >塞尔+55(11)97662-9234
>
> >
关于真正买不起的东西的很多话。

位域是一个很棒的概念。它们是不可携带的。太糟糕了。

位字段是可移植的-它们在声称支持的所有编译器上均有效
ISO C和是节省数据空间而不牺牲代码空间的一种方法
(在多数情况下)。他们所没有的是能够精确映射的能力
跨架构和编译器的设备寄存器或协议字段
一些客户认为他们应该这样做。他们错了,还有其他方法
使移植成为现实。

-

保罗·柯蒂斯(Rowley Associates Ltd) http://www.rowley.co.uk


SolderCore开发平台 http://www.soldercore.com
位域作为有限范围内的结构成员,当然,它们是一个
以(可能)代码空间为代价节省数据空间的方法。
当然,在这种情况下,它们是便携式的。

位字段是一种不可移植的硬件寄存器访问方案,
给定的是,如果代码不可磨灭地绑定到特定的CPU架构中,
第一名(例如
片上外围设备),这不一定是问题(除非也许
你是
处理以不同字节序排列的架构)。

对于可以独立于CPU架构使用的外围设备,
便携性可能是一个问题,或者可能应该成为一个问题。

干杯,
达纳K6JQ

2013年10月22日,星期二,上午12:54,Paul Curtis写道:

> **
> ** **
>
>关于真正买不起的东西的很多话。****
>
> ** **
>
>位域是一个很棒的概念。它们是不可携带的。太糟糕了。****
>
> ** **
>
>位字段是可移植的,它们可在所有声称支持的编译器上工作
>ISO C和是节省数据空间而不牺牲代码空间的一种方法
>(在多数情况下)。他们所没有的是能够精确映射的能力
>跨架构和编译器的设备寄存器或协议字段
>一些客户认为他们应该这样做。他们错了,还有其他方法
>使其可移植的实现。****
>
> ** **
>
> ** **
>
> --****
>
>保罗·柯蒂斯(Rowley Associates Ltd) http://www.rowley.co.uk****
>
>SolderCore开发平台 http://www.soldercore.com****
>
>
>