1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 走进Arduino的神奇世界(四)

走进Arduino的神奇世界(四)

时间:2023-07-19 11:23:33

相关推荐

走进Arduino的神奇世界(四)

1、二进制基础

简单的说,二进制就是只有0和1表示的计数规则,逢2进1。以此可以看出我们的十进制就是使用0-9表示的技术规则,逢10进1。
进制的英文名称:

二进制是Binary,简称为B;八进制是Octal,简称为O;十进制是Decimal,简称为D;十六进制为Hexadecimal,简称为H。

进制的表示方法:

0B表示二进制数;0O表示八进制数;0D表示十进制数(一般省略不写);0X表示十六进制数。

一般的各进制转化为十进制的方法:

整数二进制用数值乘以2的幂次依次相加,小数二进制用数值乘以2的负幂次然后依次相加。

arduino运行实例

/projects/336784470606611026

2、二进制运算 与&、或|、非~

&与运算:

就把二进制中的“1”看成男人,“0”看成女人。&运算就看成男人和女人吵架,根据常识“男人和女人吵架基本上都是女人赢”,可得以下结论:0 & x–0;1 & x–x。

|或运算:

就把二进制中的“1”看成猫,“0”看成狗。根据常识“狗怕猫”,可以得出以下结论:1 | x–1; 0 | x–x。

~非运算:非运算较为简单,就是把目标数中的“0”变为“1”,“1”变为“0”。

各种运算的作用

1、&与运算:取一个数中指定位,方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。
2、|或运算:把一个二进制数变为高电平,方法:把要取高电平的对应位为1,其余位为0。
3、~非运算:把一个二进制数变为低电平。
&----Read(),|----digitalWrite(HIGH),&+~----digitalWrite(LOW)

3、二进制运算进阶

异或^运算:

异或,英文为exclusive OR,缩写成xor。异或(eor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“eor”。运算法则:相同为0,不同为1。

作用:可以让目标二进制位翻转
位移<< >>运算:

位移运算是最快的运算。 方法:左移就相当于乘以2的位移个数次幂,右移就是除以2的位移个数幂。一个数往左移越来越大,往右移越来越小。

二进制运算代码运行实例

/projects/336905705736897106

4、寄存器

寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在arduino操作中,可以直接操作寄存器,以便更快的控制arduino。如果说loop循环是毫秒级别的,那寄存器操作就是微妙级别的。

arduino有三种端口,分别是PD、PB、PC。每种接端口有3种寄存器,分别是DDR、PORT、PIN。

代码运行实例

/projects/336956361141125714

5、中断

在计算机科学中,中断指计算机CPU获知某些事,暂停正在执行的程序,转而去执行处理该事件的程序,当这段程序执行完毕后再继续执行之前的程序。整个过程称为中断处理,简称中断,而引起这一过程的事件称为中断事件。中断是计算机实现并发执行的关键,也是操作系统工作的根本。

特点:

同步工作,异常处理,实时处理。切记:中断不能使用delay()函数。

代码运行实例

/projects/336959925572862548

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。