发 帖  
原厂入驻New
[经验]

iiC I2C单个位单个位发送数据原理

2020-10-17 09:26:46  169 数据
分享
0
2C发送时,一个字节8位,需一位一位的发送,那么一个字节8位,如何单个单个发送呢
单片机中c语言“右移>>和左移<<”与CY
左移 <<
01001111 << 左移一位:1001 1110 CY=0;第一位跑到CY上,最后一位补0

右移>>
1000 1111 >>
右移一位   0100 0111 CY=1第一位补0,最后一位跑到CY

利用单片机的左移<<”与CY两个功能,对一个字节的数据进行依次左移
第一次左移:0100 1111 << 左移一位:1001 1110;第一位是0,没有发生进位,CY=0
第二次左移:1001 1110 << 左移一位:001 11100;第一位是1,发生进位,CY=1
第三次左移:001 11100 << 左移一位:01 111000;第一位是0,没有发生进位,CY=0
第四次左移:01 111000 << 左移一位:1 111 0000;第一位是0,没有发生进位,CY=0
第五次左移:1 111 0000<< 左移一位:1110 0000第一位是1,发生进位,CY=1
……..
这样就把数据的8个位依次移动到CY进位标志位里去了

0100 1111>>移一位:0010 0111  ,高位有借位,CY=1;第一位补0

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表