您需要 登录 才可以下载或查看,没有账号?注册
收藏0 举报
ayb_ice 发表于 2020-6-10 16:32 多半是应答错了
qinchxiong 发表于 2020-6-10 16:43 能不能具体说一下,看波形,我的应答ack(0)在那个高电平产生之后发送的,但那个高电平不是我的代码操作的 ...
ayb_ice 发表于 2020-6-10 16:46 你应答时,要先切换GPIO模式
qinchxiong 发表于 2020-6-10 16:57 我了解你的意思,切换SDA为输出模式,这个我想到过,cypress平台配置sda为bidirectional,双向模式,用ps ...
William1994 发表于 2020-6-11 08:48 每个receive byte都都必须ack(0),除了最后一个字节。 你只有N个字节后ack了一下。 你应该知道I2C的一个byt ...
ayb_ice 发表于 2020-6-11 08:24 自己测试下GPIO,这种情况下直接输出0,或1,正确吗
qinchxiong 发表于 2020-6-11 09:36 我测试了一下,这种情况下输出0,1正常,另外我的接收代码是(昨天整理代码图片时删了一句ack_i2c(0)): fo ...
ayb_ice 发表于 2020-6-11 09:36 是不是其它地方也在控制,时序没有问题,方便的话发下完整的代码
qinchxiong 发表于 2020-6-11 10:07 附件是操作代码,你说的在非clk周期内sda是高电平没有影响,我也是这么想的,但我看电脑操作的波形是没有 ...
ayb_ice 发表于 2020-6-11 10:40 read_ack只能发送一次时钟,不可以发送多次, 其它的地方暂时没看
qinchxiong 发表于 2020-6-11 11:48 static uint8_t wait_read_ack(void) { uint8_t ack = 1;
ayb_ice 发表于 2020-6-11 12:57 这是协议的问题,你连协议都没搞清楚, 读应答之前要将GPIO设为输入状态,没看到哪里有切换,
ayb_ice 发表于 2020-6-11 13:09 你这个代码有延时吗,这样肯定不行
qinchxiong 发表于 2020-6-11 13:51 我知道你的意思,我最开始的时候想到过这个问题,用cypress的 pSoC4配置和生成的代码,没看到IO方向切换 ...
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
等级类勋章
发帖类勋章
时间类勋章
人才类勋章
12
41
0
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号