Little BigUs 2023-02-23 10:57 采纳率: 92.7%
浏览 23

ADC_Cmd 和 ADC_Init的调用顺序

今天看I2C的示例的时候发现居然是先I2C_Cmd,然后再调用I2C_Init函数,但是我记得昨天看的ADC示例是先ADC_Init,再进行ADC_Cmd的,而且根据常识也感觉应该先进行设置,然后再使能的。于是我就翻看固件库使用手册,惊奇的发现ADC_Cmd函数下面有一行注意:

img


而在I2C函数下面却没有:

img


想知道为什么只有ADC需要先初始化再使能呢?

  • 写回答

1条回答 默认 最新

  • MarkHan_ 2023-02-23 12:52
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    ADC(模数转换器)和I2C(串行总线)是两种不同类型的设备,它们在初始化和启用方面有所不同。
    -
    在ADC中,需要在调用ADC_Cmd函数之前设置各种参数,例如采样时间、转换模式、通道选择等。这些参数的设置将直接影响ADC的转换结果,因此需要在使能之前设置好。如果在使能之前调用ADC_Cmd函数,则可能会导致转换结果不准确。
    -
    而在I2C中,使能总线是第一步,因为在使能总线之前无法进行任何I2C通信。I2C_Init函数是用来初始化I2C总线的各种参数和时序的,但是并不会使能总线。因此,在调用I2C_Cmd函数之前,需要确保I2C总线已经初始化好,并且时钟已经配置正确。
    -
    总之,每种设备都有其特定的初始化和启用顺序,需要按照设备的要求进行操作。在使用固件库时,应该仔细查看设备的手册和固件库使用手册,了解每个函数的调用顺序和要求。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月23日

悬赏问题

  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害