打印
[其他]

HC18M003单片机中IIC外设控制寄存器 IICCON中AA的作用

[复制链接]
3111|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
suncat0504|  楼主 | 2023-10-31 19:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#申请原创# @21小跑堂
今天又继续捡起来之前测试失败的程序。在重新开始测试之前,又仔细读了一遍文档。在对控制寄存器 IICCON中AA的说明中,有如下描述:
应答标志位
0:回复 NACK(SDA 上为高电平)
1:回复 ACK(SDA 上为低电平)
在之前的测试中,以为这一位,是主机根据从机的应答信号,来自动设置这个位的。加上资料中关于IIC工作模式的流程图中一直都是以X来描述的。就以为不用管呢。今天在测试处理中,在准备以IIC发送指令、数据之前,根据从机的应答要求,提前设置了这个位。如果从机在收到数据、指令后的应答位ACK(即使SDA=0),则提前设置AA=1,然后再发送数据、指令。这样测试的结果,终于正常了,和主机发送模式的流程图终于匹配上了。说明芯片是没有问题的,是自己理解不到位,才导致测试结果不正常。
这次测试,再一次说明了,对文档不仔细阅读,一知半解干活,是很容易出问题的。很庆幸自己一直坚持下来,没有放弃。

使用特权

评论回复
沙发
tpgf| | 2023-11-6 11:53 | 只看该作者
还有一种就是如果不清楚的话 完全可以跑一个历程看看

使用特权

评论回复
板凳
suncat0504|  楼主 | 2023-11-6 12:27 | 只看该作者
谢谢tpgf提醒。我跑了例程,好像也没啥反应。主要是第一次接触IIC硬件外设的使用,在开始的时候想当然了。

使用特权

评论回复
地板
guanjiaer| | 2023-11-6 13:08 | 只看该作者
现在很多文档  感觉都需要配合官方例程才能理解到位

使用特权

评论回复
5
heimaojingzhang| | 2023-11-6 14:24 | 只看该作者
这个是不是需要使用示波器观察的比较清楚呢

使用特权

评论回复
6
paotangsan| | 2023-11-6 15:03 | 只看该作者
iic有没有连接失败后重联的机制呢

使用特权

评论回复
7
suncat0504|  楼主 | 2023-11-6 16:00 | 只看该作者
按照文档说明,在主机发送模式下,有正常的处理逻辑。如果出现中断时状态值不匹配,就意味着已经出错,处理中止。实际上,不同的处理方式,虽然逻辑上正确,但很可能会出现不同的结果。这才是我想不明白的地方。最后,还是以等待中断,等待正确状态值方式来处理。但这样,和用IO模拟比,感觉就没有什么优势了。IIC外设本身有速度限制。二用IO口模拟可以以很高的速度执行,缺点是容易被中断打断处理过程。尤其是是在发送数据、指令过程中,会造成时序错误。

使用特权

评论回复
8
renzheshengui| | 2023-11-6 22:22 | 只看该作者
suncat0504 发表于 2023-11-6 12:27
谢谢tpgf提醒。我跑了例程,好像也没啥反应。主要是第一次接触IIC硬件外设的使用,在开始的时候想当然了。 ...

为什么跑例程也会出现失败呢

使用特权

评论回复
9
keaibukelian| | 2023-11-6 23:15 | 只看该作者
本质上来说还是要把时序搞清楚

使用特权

评论回复
10
suncat0504|  楼主 | 2023-11-21 10:24 | 只看该作者
时序没有问题,主要还是没有搞懂设置。用户手册讲的也不是很清楚。

使用特权

评论回复
11
1123506| | 2024-1-25 16:42 | 只看该作者
您好,我这边是上海芯圣一级代理商,我们有专业的FAE为您进行解答 如需了解请加企鹅号2914373240

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:大连伊飞特信息技术有限公司软件工程师
简介:本人于1993年毕业于大连理工大学。毕业后从事单片机开发工作5年,之后转入软件开发工作至今。

130

主题

3932

帖子

5

粉丝