社区
单片机/工控
帖子详情
IIC_SDA=(txd&0x80)>>7为什么要右移七位?
jiaobiedeng1738
2017-08-20 09:37:57
以前学51的时候,写的I2C是没有右移七位的,然后现在学STM32的时候看到I2C发送函数里面有右移七位,请问这是怎么回事?
...全文
3091
2
打赏
收藏
IIC_SDA=(txd&0x80)>>7为什么要右移七位?
以前学51的时候,写的I2C是没有右移七位的,然后现在学STM32的时候看到I2C发送函数里面有右移七位,请问这是怎么回事?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ckc
2017-08-20
打赏
举报
回复
把最高位转移到最低位吧 51只能一位一位移动,所以这样做很不合适 也许stm32可以一次性移动7位
tianxj001
2017-08-20
打赏
举报
回复
6
IIC_SDA=(txd&0x80)>>7 没看见其他源代码,这里,txd应该是一个寄存器,&0X08 也就是和0B10000000 逻辑与,也就是结果取最高位,然后右移7位,最高位变成最低位,IIC_SDA是一根串口数据, 这个代码的意思就是把txd 最高位 发送到IIC_SDA。 再看看这个代码,如果是这个目的,貌似IIC_SDA=txd>>7; 就可以了,和0X80做逻辑与好像是多余的哈。
IIC
通信协议中SCL和
SDA
电平变化
本文重点叙述
IIC
通信时SCL和
SDA
两条线上的电平变化,这其实对应了
IIC
通信的通信协议。本文将利用逻辑分析仪观察
IIC
通信时的通信协议,即SCL和
SDA
两条线上的电平变化。
IIC
协议中
SDA
_IN与
SDA
_OUT理解 IO口寄存器
在学习
IIC
协议时,看到以下代码,查阅资料,自己理解了一下: #define
SDA
_IN() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;} #define
SDA
_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;} 首...
if(input &
0x80
)在I2C中是怎么样一步步写入数据的?
input &
0x80
判断真假过程 我们先放一段if(input &
0x80
)在I2C写字节的代码 /************************************************ *函数名称 : void I2C_WriteByte *功 能 : I2C写一个字节 *参 数 : dat:传输数据 *返 回 值 : 无 **************...
IIC
通信从机无应答(读取数据始终为0XFF)
IIC
通信过程中从机无应答,读取数据始终为0XFF,解决办法
DSP 2803x
IIC
/I2C总线
参考手册:TMS320x2803x, Piccolo Technical Reference Manual.pdf
IIC
总线: 概念
IIC
总线(Inter IC BUS)由 PHILIPS 公司推出。
IIC
总线由数据线
SDA
和时钟线 SCL 两条线构成通信电路,连接到总线的器件既可以发送数据,也可以接收数据,每个器件都用唯一的地址标志。
IIC
/I2C 总线术语的定义 术语 描述 发送器 发送数据到总线的器件 接收器 从总线接收数据的器件 主机 初始化
单片机/工控
27,522
社区成员
28,798
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章