久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 用單片機C語言的結構體實現字節、位操作 [打印本頁]

作者: 51hei學習技術中    時間: 2017-3-22 03:30
標題: 用單片機C語言的結構體實現字節、位操作
凌陽出的教程,用來學習單片機c語言非常不錯,主要講解了結構體實現字節、位操作,下面是教程的截圖,完整版本請下載本帖的51黑附件。




源碼:

  1. /* ========================================================================= */
  2. /* The information contained herein is the exclusive property of             */
  3. /* Sunplus Technology Co. And shall not be distributed, reproduced,          */
  4. /* or disclosed in whole in part without prior written permission.           */
  5. /*             (C) COPYRIGHT 2004 SUNPLUS TECHNOLOGY CO.                     */
  6. /*                    ALL RIGHTS RESERVED                                    */
  7. /* The entire notice above must be reproduced on all authorized copies.      */
  8. /* ========================================================================= */
  9. /*                                                                                                                                                          */
  10. /* ========================================================================= */
  11. /* Project Name  : AN_SPMC75_0202                                                                             */
  12. /* File Name     : main.c                                                                                                          */
  13. /* Description   : Easy-to-Use Byte and Bit mode operation using C data          */
  14. /*                 structure                                                                            */
  15. /* Processor     : SPMC75F2413A                                                                                             */
  16. /* Tools             : u'nSP IDE tools v1.18.1A or later version                                 */
  17. /* ========================================================================= */
  18. /* Revision                                                                                                                                         */
  19. /* ========================================================================= */
  20. /* Version       :  1.00                                                                                                            */
  21. /* Date                         : 9.2                                                                                                 */
  22. /* Modified by   :        更換正規的文件頭和最新的頭文件                                                         */
  23. /* Description         :                                                                                                                     */
  24. /* ========================================================================= */

  25. #include        "AN_SPMC75_0202.H"

  26. //===========================================================================
  27. /*
  28. .Note:
  29.         將UInt16型變量variable強制轉換為GENBITSDEF類型的指針,
  30.         那么這樣一個指針ptr就可以具有GENBITSDEF類型所定義的
  31.         屬性和成員,對其操作就可以實現對ptr所指存儲空間進行操作。
  32. */
  33. #define        ptr        ((volatile GENTYPEDEF *)(&variable))        //普通變量強轉換類型

  34. main()
  35. {
  36.         UInt16 variable = 0;        //UInt16 變量定義
  37.         GENBITSDEF        sBits;                //自定義類型GENBITSDEF 變量定義
  38.         GENBYTEDEF        sByte;                //自定義類型GENBYTEDEF 變量定義
  39.         GENTYPEDEF        sMixb;                //自定義類型GENTYPEDEF 變量定義

  40.         P_IOD_Attrib->W = 0xFFFF;        //IOD初始化
  41.         P_IOD_Dir->W        = 0xFFFF;
  42.         P_IOD_Buffer->W        = 0xFFFF;
  43.         P_IOD_Data->W        = 0x0000;

  44.         sBits.W = 0xA5FF;                //字(Word)操作
  45.         sBits.B.bit0  = 0;                //位(Bit)操作
  46.         sBits.B.bit15 = 0;                //位(Bit)操作

  47.         sByte.W = 0xA5FF;                //字(Word)操作
  48.         sByte.B.byte0 = 0xA5;        //字節(Byte)操作
  49.         sByte.B.byte1 = 0xFF;        //字節(Byte)操作

  50.         sMixb.Word = 0xA5FF;        //字(Word)操作
  51.         sMixb.Bits.bit14 = 1;        //位(Bit)操作
  52.         sMixb.Bits.bit15 = 0;        //位(Bit)操作
  53.         sMixb.Byte.byte0 = 0;        //字節(Byte)操作
  54.         sMixb.Byte.byte1 = 0;        //字節(Byte)操作

  55.         ptr->Word = 0x90Fe;        //轉型后變量的操作方式
  56.         ptr->Bits.bit0  = 1;
  57.         ptr->Bits.bit15 = 0;
  58.         ptr->Byte.byte0 = 0xFF;
  59.         ptr->Byte.byte1 = 0x00;


  60.         while(1)
  61.         {
  62.                 LEDCHG->Byte.byte0 = 0xA5;        //對硬件(IOD)的字節(Byte)操作
  63.                 LEDCHG->Byte.byte0 = 0x5A;

  64.                 LEDCHG->Byte.byte1 = 0xA5;
  65.                 LEDCHG->Byte.byte1 = 0x5A;

  66.                 LEDCHG->Byte.byte0 = 0x00;
  67.                 LEDCHG->Byte.byte0 = 0xFF;

  68.                 LEDCHG->Byte.byte1 = 0x00;
  69.                 LEDCHG->Byte.byte1 = 0xFF;

  70.                 LEDCHG->Word           = 0x00;        //對硬件(IOD)的字(Word)操作

  71.                 LEDCHG->Bits.bit0 = 1;                //對硬件(IOD)的位(Bit)操作
  72.                 LEDCHG->Bits.bit0 = 0;

  73.                 LEDCHG->Bits.bit5 = 1;
  74.                 LEDCHG->Bits.bit5 = 0;

  75.                 LEDCHG->Bits.bit10 = 1;
  76.                 LEDCHG->Bits.bit10 = 0;

  77.                 LEDCHG->Bits.bit15 = 1;
  78.                 LEDCHG->Bits.bit15 = 0;
  79.         }
  80. }
復制代碼

完整教程和源碼下載:
用C語言的結構體實現字節、位操作.rar (305.49 KB, 下載次數: 46)



作者: PCB生產    時間: 2017-3-22 15:08
好資料,51黑有你更精彩





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产三级在线看 | 久久久久久国产 | av在线播放网址 | 91精品久久久久 | 国产高清91 | 黄色片在线免费观看 | 久草免费福利视频 | 免费看黄色大片 | 2018天天操 | 成人欧美一区二区三区黑人免费 | 九九视频在线 | 九九综合网 | 欧美顶级黄色大片免费 | 日本丰满少妇裸体自慰 | 一区二区国产在线 | 国产精品一区二区三区不卡 | 国产一区不卡 | 一区二区三区四区视频在线观看 | 久久久久久黄色 | 网站毛片| 三上悠亚一区二区 | 欧美性猛交99久久久久99按摩 | 亚洲一区二区在线播放 | 日韩精品网站 | av福利在线 | 中文字幕免费视频 | 色网站在线观看 | 午夜国产在线观看 | 视频在线一区二区 | 国内精品视频在线观看 | 成人精品免费视频 | 成人国产精品一区二区 | 伊人9999 | 四虎在线播放 | 久久久在线视频 | 大香蕉毛片 | 日韩av福利| 亚洲视频区 | 欧美黄色片视频 | 美日韩一区二区 | 午夜免费视频 |