差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

共用体の応用 [2011/12/11 01:45]
member
共用体の応用 [2011/12/11 02:04] (現在)
member
ライン 5: ライン 5:
<code c> <code c>
  PFC.PAIORL.WORD = 0xffff;  //ポートAすべてを出力に   PFC.PAIORL.WORD = 0xffff;  //ポートAすべてを出力に
-  PFC.PAIORL.BYTE.H = 0xf;  //ポートAの上位BYTEを入力に = 8から15ビットまでを入力に (こんな書き方できるの知ってた?) +  PFC.PAIORL.BYTE.H = 0xff; //ポートAの上位BYTEを入力に = 8から15ビットまでを入力に (こんな書き方できるの知ってた?)
  PFC.PAIORL.BIT.B7 = 0;     //ポートAの7ビット目を入力に   PFC.PAIORL.BIT.B7 = 0;     //ポートAの7ビット目を入力に
  PFC.PAIORL.BIT.B8 = 0;     //ポートAの8ビット目を入力に   PFC.PAIORL.BIT.B8 = 0;     //ポートAの8ビット目を入力に
-  PFC.PAIORL.BIT.B5 = 0;     //ポートAの9ビット目を入力に +  PFC.PAIORL.BIT.B5 = 0;     //ポートAの5ビット目を入力に
</code> </code>
ライン 30: ライン 30:
                                         
-この共用体がタネです。共用体というのはデータの格納場所を共有するわけですよね。ビットフィールドで作った1bitの変数16コと、1byteの変数(unsignede char)2つと2byte(unsignede short)の変数って同じデータの幅を持っているわけです。だから、どれかに値を代入したら、他のメンバーの値も変わってしますという共用体の性質をうまく利用しているわけです。ここで一つ重要なことでリトルエンディアンとかビッグエンディアンとか言う言葉があるということを覚えておいてください。これは何かというと、ビットフィールドの変数が下位ビットから代入されるか、それとも上位ビットから代入されるかということです。詳しくは自分で調べてください。                   +この共用体がタネです。共用体というのはデータの格納場所を共有するわけですよね。ビットフィールドで作った1bitの変数16コと、1byteの変数(unsignede char)2つと2byte(unsignede short)の変数って同じデータの幅を持っているわけです。だから、どれかに値を代入したら、他のメンバーの値も変わってしまうという共用体の性質をうまく利用しているわけです。ここで一つ重要なことでリトルエンディアンとかビッグエンディアンとか言う言葉があるということを覚えておいてください。これは何かというと、ビットフィールドの変数が下位ビットから代入されるか、それとも上位ビットから代入されるかということです。詳しくは自分で調べてください。                  
                                         
                                         
/home/users/2/deca.jp-mice/web/cgi/dokuwiki/data/attic/共用体の応用.1323535530.txt.gz · 最終更新: 2011/12/11 01:45 by member
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0