zoukankan      html  css  js  c++  java
  • 单片机C语言中标志位的经典应用

    /*
    本例程是C语言的位域操作示例
    这里为什么位域结构体与联合体一起使用?
    -->因为这样定义后,即可以单独使用标志位 也可同时使用整个字节数据
    
    主要应用:单片机C语言
    
    好处:用标志位可以节省RAM空间 操作灵活 执行速度快
    
     */
    //====标志位应用 定义联合体实体====
    typedef union uFLG
    {
        uint8 Flg ;     //定义整形数据
        
        struct FLAG
        {        //位域定义
            uint8   Flg1   : 1;
            uint8   Flg2   : 1;
            uint8   Flg3   : 1;
            uint8   Flg4   : 1;
            uint8   Flg5   : 1;
            uint8   Flg6   : 1;
            uint8   Flg7   : 1;
            uint8   Flg8   : 1;
        }tFlg;  
     
    }uFlg;
    
    
    uFlg uF1,uF2;   //定义联合体变量
     
    //-------uF1-------------------
    #define uFg1            uF1.Flg
     
    #define F_10MS          uF1.tFlg.Flg1
    #define F_Fls1s         uF1.tFlg.Flg2
    #define F_Fls           uF1.tFlg.Flg3
    #define F_FlsQ          uF1.tFlg.Flg4
     
    //-------uF2-------------------
    #define uFg2                uF2.Flg
    #define F_LED1          uF2.tFlg.Flg1
    #define F_LED2          uF2.tFlg.Flg2
    #define F_LED3          uF2.tFlg.Flg3
     
     
     //----应用实例------
     
    void main(void)
    {
        while(1)
        { 
              //F_10MS 在中断里10MS置一次1
     
            while(!F_10MS);  //主程序10MS执行一次 
            F_10MS = 0 ; 
     
            Cmdkey() ;
            CmdDisplay() ;
     
            uFg2 = 0 ;      //直接操作整个字节
            F_LED1 = 1 ;    //独立操作字节中的一个位
     
        }
    }
     
  • 相关阅读:
    自我介绍
    注册表代码
    圣杯布局
    css的颜色设置
    c语言:第二次作业,循环结构
    c语言:第一次作业,分支,顺序结构
    C语言博客作业03函数
    第零次作业
    用JSP判断输入是质数还是非质数
    用JSP完成输入整形,单精度浮点数,双精度浮点数
  • 原文地址:https://www.cnblogs.com/UPUPDay2152/p/10584559.html
Copyright © 2011-2022 走看看