标题: SDA=dat>>7; I2总线中的, 看不懂 [打印本页]

作者: zjgoy    时间: 2017-3-28 15:27
标题: SDA=dat>>7; I2总线中的, 看不懂

SDA是P2^0,而dat是字节变量,右移七位后怎么能够赋值给SDA呢?
作者: 小潘哥    时间: 2017-3-28 15:42
相关的程序也贴一下吧,好分析
作者: wosiyabo    时间: 2017-3-28 16:00
本帖最后由 wosiyabo 于 2017-3-28 16:01 编辑

当SDA=P2^0时,即SDA功能与bit相同.当uchar的8位数据放在bit内,bit只认最低位.
作者: zjgoy    时间: 2017-3-28 20:49
wosiyabo 发表于 2017-3-28 16:00
当SDA=P2^0时,即SDA功能与bit相同.当uchar的8位数据放在bit内,bit只认最低位.

这个知识点在哪一部分讲?
作者: zjgoy    时间: 2017-3-28 20:50
wosiyabo 发表于 2017-3-28 16:00
当SDA=P2^0时,即SDA功能与bit相同.当uchar的8位数据放在bit内,bit只认最低位.

这个知识点在哪一部分讲?
作者: wosiyabo    时间: 2017-3-28 21:24
本帖最后由 wosiyabo 于 2017-3-28 21:39 编辑
zjgoy 发表于 2017-3-28 20:50
这个知识点在哪一部分讲?

bit 这个是位运算出内容只有0和1
unsigned char 这个是字符型内容只有0~255
unsigned int 这个是整型内容只有0~65535
比如说:
你把整型uint 放到字符型uchar里面,那么uchar只会显示低位255以内的内容。
你要是把字符型uchar 放到位运算bit里面,那么bit只会显示低位0~1以内的内容。
0x00 = 0000 0000  bit取低位为0
0x01 = 0000 0001  bit取低位为1
0x02 = 0000 0010  bit取低位为0
0x03 = 0000 0011  bit取低位为1
如此类推。。

作者: wosiyabo    时间: 2017-3-28 21:41
说错了,应该叫整型,而不是长整型
作者: zjgoy    时间: 2017-3-29 08:46
wosiyabo 发表于 2017-3-28 21:24
bit 这个是位运算出内容只有0和1
unsigned char 这个是字符型内容只有0~255
unsigned int 这个是整型内 ...

取最低位,我想在书上看到文字的解释,在单片机的书籍上哪个章节讲的?





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1