type c pin定义_在C中定义宏以设置和清除PIN的位
type c pin定义
Given a PIN (value in HEX) and bit number, we have to SET and then CLEAR given bit of the PIN (val) by using Macros.
给定一个PIN(十六进制值)和位数,我们必须使用宏将SET(设置),然后清除给定的PIN(值)位(值)。
Macros definitions:
宏定义:
#define SET(PIN,N) (PIN |= (1<<N))
#define CLR(PIN,N) (PIN &= ~(1<<N))
Here,
这里,
SET and CLR are the Macro names
SET和CLR是宏名称
PIN is the value whose bit to set or/and clear
PIN是要设置或清除的位的值
N is the bit number to set or/and clear
N是要设置或清除的位数
Example:
例:
#include <stdio.h>
#define SET(PIN,N) (PIN |= (1<<N))
#define CLR(PIN,N) (PIN &= ~(1<<N))
int main(){unsigned char val = 0x11;
unsigned char bit = 2;
printf("val = %X\n",val);
//set bit 2 of val
SET(val,bit);
printf("Aftre setting bit %d, val = %X\n", bit, val);
//clear bit 2 of val
CLR(val,bit);
printf("Aftre clearing bit %d, val = %X\n", bit, val);
return 0;
}
Output
输出量
val = 11
Aftre setting bit 2, val = 15
Aftre clearing bit 2, val = 11
Explanation:
说明:
Initially val is 0x11, its binary value is "0001 0001".
最初val为0x11 ,其二进制值为“ 0001 0001” 。
In the example, we are setting and clear bit 2 (please note start counting bits from 0 i.e. first bit is 0, second bit is 1 and third bit is 2).
在该示例中,我们正在设置并清除位2(请注意从0开始计数位,即第一位为0,第二位为1,第三位为2)。
After calling Macro SET(val,bit), the bit number 2 (i.e. third bit) will be set/hight and the value of val will be "0001 0101" that will be 0x15 in Hexadecimal.
调用Macro SET(val,bit)后 ,将设置2位(即第三位)/高,并且val的值将为“ 0001 0101” ,十六进制为0x15 。
And then, we are calling CLR(val,bit), after calling this Macro, the bit number 2 (i.e. third bit) will be cleared and the value of val will be "0001 0001" again, that is 0x11 in Hexadecimal.
然后,我们调用CLR(val,bit) ,在调用此宏后,将清除位数2(即第三位),并且val的值将再次为“ 0001 0001” ,即十六进制为0x11 。
翻译自: https://www.includehelp.com/c-programs/define-macros-to-set-and-clear-bit-of-a-pin-in-c.aspx
type c pin定义
type c pin定义_在C中定义宏以设置和清除PIN的位相关推荐
- java 整型数组定义_在Java中定义一个具有10个元素的整型数组a的语句是:___
在Java中定义一个具有10个元素的整型数组a的语句是:___ 答: int [] arr = new int[10] 在借贷记账法下() 答:在账户结构上,"借"和"贷 ...
- java属性定义_在java中定义抽象属性
抽象关键字通常应用于类和方法,以便将某些行为的实现委托给子类. Java不支持抽象属性,如果您试图将类属性标记为抽象,则会得到编译错误. 在本教程中,将介绍两种定义抽象属性的方法,这些属性由子类设置, ...
- devops定义_在层中定义DevOps
devops定义 DevOps是什么? 我认为这是每个DevOps初学者都会问的一个问题. 如果您问10个人这个问题,您很可能会得到10个不同的答案. 这肯定说明了DevOps的普遍性,开放性,但也说 ...
- python 模块定义_在python中定义私有模块函数
类私有化和模块私有化之间可能存在混淆. A模块private以一个下划线开头 当使用import命令的from import *形式时,这样的元素不会被复制:但是,如果使用import 语法(see ...
- matlab中如何定义整形变量,MATLAB中定义变量的问题
题目: MATLAB中定义变量的问题 比如说可以用syms定义 >> syms x11 x12 x13 x14 >> syms x21 x22 x23 x24 >> ...
- python打印时间_在Python中定义Main函数(第二部分)
Main函数的最佳实践 既然您已经了解两种执行方式上的差异,那么掌握一些最佳实践方案还是很有用的.它们将适用于编写作为脚本运行的代码或者在另一个模块导入的代码. 如下是四种实践方式: 将大部分代码放入 ...
- mysql 定义唯一约束_在MySQL中,定义唯一约束的基本语法格式是【】
在MySQL中,定义唯一约束的基本语法格式是[] 答:NOT NULL 中国制定全面抗战路线的会议是( ) 答:洛川会议 中国大学MOOC:\精确制导武器包括和()两大类武器.\; 答:\精确制药\& ...
- python中定义类的关键字_在Python中,定义一个类使用什么关键字?
[多选题]技术应用的限制包括 [多选题]关于类和对象,下面说法正确的有? [判断题]温度越高,料液的粘度越小,扩散系数越大,可提高膜通量. [单选题]某企业有10台运货车,已知每台车每运行100小时平 ...
- python中表示类的公有成员_在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。...
在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员. 更多相关问题 [填空题] 汽车板金的一般修理工艺是:校正.敲平.().().焊接及点焊. [填空题] 汽车照明系统主要由() ...
最新文章
- FPGA中LVDS差分高速传输的实现
- 愚蠢的CNN,换个马甲就认不出猫!但,这病能治 | ICLR Oral
- hdu 2196 树形dp
- poj 3335 Rotating Scoreboard - 半平面交
- 三菱PLC仿真软件的序列号
- 腾讯云服务器linux系统有图形界面,腾讯云服务器如何搭建Ubuntu可视化界面?
- 数值积分方法的总结(从简单梯形积分到龙贝格积分、自适应积分、高斯积分等)
- eucalyptus 云平台搭建
- NodeJS-框架express-Koa-Hapi的区别
- 绿色版软件怎么添加鼠标右键菜单里
- Java学习路线·进阶
- 非功能性需求之性能需求分析
- 怎么更改计算机开机用户名和密码,小编详解怎么修改电脑开机密码
- 这些SEO搜索技巧你会不会用?
- 企业动画宣传片制作要点解析
- Uni-app 中使用 .ttf 字体图标
- fiddler监控手机请求 1
- 超详细的Linux系统 -- CentOS7的下载安装配置教程
- unicloud普通云函数调用公共云函数的坑
- python本科生就业_准备报学习机构学习大数据、Java或者python,是计算机专业的本科生,请问选择哪种就业发展比较好?...
热门文章
- python可以做计量分析吗_技术分享 - python数据分析(2)——数据特征分析(上)...
- html自适应_web前端入门到实战:HTML 文档流,设置元素浮动,导致父元素高度无法自适应的解决方法...
- 计算机有什么著名基金经理排名,百万年薪的基金经理,都是什么专业出身?!...
- java 抽象类 final_final/抽象类/interface
- java的for循环取出数据只是拿到最后一个_一问SQL优化就无从藏身?那只是你对原理的精髓掌握不深
- Redis(十二):Redis事务的基本操作
- Nginx(一):概念基础
- 神经网络的基本工作原理
- 字符串拼串 能缓解我们的开发难度→!←(ε=(´ο`*)))唉,又是一个不知道该怎么写题目的随笔啊,头疼)...
- Confluence 6 选择一个外部数据库