• 单片机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 ;    //独立操作字节中的一个位
     
        }
    }
     
  • 相关阅读:
    JavaScript之图片操作7
    JavaScript之图片操作6
    【数据结构】树
    【数据结构】查找
    【数据结构】排序
    【HTML】常用标签及属性
    【数据结构】堆栈
    【计算机网络】五层体系结构
    【Linux】相关英文缩写含义
    【Java】连接数据库MySQL
  • 原文地址:https://www.cnblogs.com/UPUPDay2152/p/10584559.html
Copyright © 2020-2023  润新知