博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IAR环境定义位变量标志位 STM8 MSP430通用
阅读量:5310 次
发布时间:2019-06-14

本文共 777 字,大约阅读时间需要 2 分钟。

首先建立一个公共点H文件,加入通用代码如下

typedef union{    struct    {        unsigned char b0:1;        unsigned char b1:1;        unsigned char b2:1;        unsigned char b3:1;        unsigned char b4:1;        unsigned char b5:1;        unsigned char b6:1;        unsigned char b7:1;    } bits;} UINT8_VAL;

  通用定义联合体写好以后,要定义一个只占用个Byte的标志位的话,只要定义一下uchar型字节,然后引用它的其中某一位就可以了。

比如在C文件中定义一个联合体,加入代码

UINT8_VAL  BitFlag1 = {0x00};	//每一个bit初始化为0,如果对某一位置1可用BITx

  好了,定义了一个BitFlag1的联合体,如果要在其他点C文件中引用其中的某一个位标志只要在刚刚的点H文件中外部声明一下就可以了,如下代码

//-------------------位变量声明--------------------------extern UINT8_VAL  BitFlag1;#define t1msFlag			BitFlag1.bits.b0	// 任务1

  外部声明了联合体 BitFlag1 ,同时宏定义了其中的一个位t1msFlag作为这个联合体中字节的最低Byte位,在其他C文件中就可以直接对t1msFlag进行布尔读写操作了。

 

转载于:https://www.cnblogs.com/sunjiaqi2004/p/4872520.html

你可能感兴趣的文章
ERROR: duplicate key value violates unique constraint "xxx"
查看>>
激活office 365 的启动文件
查看>>
9款免费的Windows远程协助软件
查看>>
Maven(八) Maven项目和testng结合应用
查看>>
iOS 的 set.get.构造方法
查看>>
无法根据中文查找
查看>>
文件编码,文件或文件名编码格式转换(转)
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
redis的hash与string区别
查看>>
转载 python多重继承C3算法
查看>>
初用Ajax
查看>>
zabbix 2.2.20 安装详解(Centos6.9)
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
css文本溢出显示省略号
查看>>
SQL_Server_2008完全学习之第十章触发器
查看>>
git安装和简单配置
查看>>
C# FTP远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)...
查看>>
面向对象:反射,双下方法
查看>>
利用matplotlib绘画出二特征的散点图
查看>>
RabiitMq
查看>>