找回密码
 立即注册
查看: 465|回复: 5

关于I2C_DMA:ATM和ST寄存器的疑惑

[复制链接]

该用户从未签到

9

主题

23

回帖

3552

积分

荣誉版主

积分
3552
QQ
发表于 2023-5-10 15:21:50 | 显示全部楼层 |阅读模式
1.bmp
2.bmp
3.bmp

如图3,9.6实验箱-DMA_I2C与存储器自动收发示例程序中,
需要设置DMA_I2CR_AMT 和 DMA_I2C_ST两个寄存器,
已设置了I2C_DMA总字节数,为啥又要设置I2C_DMA传输字节数?
回复 送花

使用道具 举报

  • TA的每日心情
    奋斗
    前天 08:59
  • 签到天数: 143 天

    [LV.7]常住居民III

    27

    主题

    1343

    回帖

    4187

    积分

    论坛元老

    积分
    4187
    发表于 2023-5-10 16:58:52 | 显示全部楼层
    DMA_I2CR_AMT和DMA_I2C_ST其实没有区别,都是设置DMA的总数-1,他们分别被设计在不同的硬件模块里面,都必须设置。
    DMA_I2CR_AMT和DMA_I2CT_AMT寄存器在DMA电路内部,用于控制需要读或者写多少个I2C数据到XRAM,与I2C协议无关。
    DMA_I2C_ST在I2C模块内部,用于自动控制收或发多少个I2C数据,与XRAM无关,而与I2C协议有关,比如控制读取数据达到最后一个时,自动回NAK,这个动作是由DMA_I2C_ST来控制的。
    使用时两个都设置一样的值就可以了。

    点评

    学习了!  发表于 2023-5-11 18:22
    了解了,感谢指导  详情 回复 发表于 2023-5-10 23:06
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    9

    主题

    23

    回帖

    3552

    积分

    荣誉版主

    积分
    3552
    QQ
     楼主| 发表于 2023-5-10 23:06:07 | 显示全部楼层
    乘风飞扬 发表于 2023-5-10 16:58
    DMA_I2CR_AMT和DMA_I2C_ST其实没有区别,都是设置DMA的总数-1,他们分别被设计在不同的硬件模块里面,都必 ...

    了解了,感谢指导

    点评

    学习了,感谢!  发表于 2023-5-11 18:23
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-19 01:26 , Processed in 0.063328 second(s), 45 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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