|
方式1:
使用for定数循环;?移位运算?;与运算?实现DIN口送数据。
方式2:
直接取数据的某一位,送数据总线上。
重复上面步骤8次。完成一个字节数据传送。
可见方式2更高效。
方式2实现的物理支持是什么呢?
源于bdata。
什么是bdata呢?可以位寻址的变量。?51架构的单片机都有一段可位寻址的区域,位于20H~2FH,总共128位。在C51中编程时,分配的bit型变量以都会定位到这段区域里。
51是8位机,一个字节一个字节的访问,是它的特点。突然间,要1bit的访问,会影响其性能。51就把可以位寻址的变量做了一个位带,即每一个bit都有一个字节地址,当然这个字节只能取值0或1,这样把访问bit的事情,变成了访问字节的事情。提高了bit的访问速度。?
可以arm中“位带操作”文章。
|
|