查看: 2768|回复: 8

[已解决] (求助)ADC_Poll_demo例程的疑惑(已解决)

[复制链接]
  • TA的每日心情
    开心
    2018-4-17 08:39
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    33

    主题

    788

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2796
    最后登录
    1970-1-1
    发表于 2014-12-8 15:12:37 | 显示全部楼层 |阅读模式
    本帖最后由 qiu-368230 于 2014-12-10 14:29 编辑

    在学习此例程调试时发现按照走的过程 应该是   pADC_Config->sSetting.bHardwareTriggerEn =0;可是看此结构体成员的初始化值应该是  1 啊,请问这个了例程中,是在哪里写pADC_Config->sSetting.bHardwareTriggerEn为值0 的呢,谢谢
    我知道答案 目前已有8人回答
    123.png
    124.png
    125.png
    回复

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-12-8 22:28:01 | 显示全部楼层
    楼主请说明你芯片的全称以及代码来源。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-4-17 08:39
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    33

    主题

    788

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2796
    最后登录
    1970-1-1
     楼主| 发表于 2014-12-9 12:13:33 | 显示全部楼层
    FSL_TICS_ZJJ 发表于 2014-12-8 22:28
    楼主请说明你芯片的全称以及代码来源。

    FRDM-KE02Z   代码是KEXX_DRIVERS_V1.2.1_DEVD里面的例程呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-4-17 08:39
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    33

    主题

    788

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2796
    最后登录
    1970-1-1
     楼主| 发表于 2014-12-9 12:14:05 | 显示全部楼层
    FSL_TICS_ZJJ 发表于 2014-12-8 22:28
    楼主请说明你芯片的全称以及代码来源。

    这么晚了还工作呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-12-9 18:28:38 | 显示全部楼层
    qiu-368230 发表于 2014-12-9 12:13
    FRDM-KE02Z   代码是KEXX_DRIVERS_V1.2.1_DEVD里面的例程呢

    楼主可能误解了如下结构体的定义:
    typedef struct
    {
        uint16_t bIntEn                 :1;     /*!< 1: Interrupt Enable, 0: Interrupt disable */
        uint16_t bContinuousEn          :1;     /*!< 1: Continuous Conversion Enable, 0: Continuous Conversion disable */
        uint16_t bHardwareTriggerEn     :1;     /*!< 1: hardware trigger, 0: software trigger */
        uint16_t bCompareEn             :1;     /*!< 1: compare mode Enable, 0: compare mode disable */
        uint16_t bCompareGreaterEn      :1;     /*!< 1: Compare greater mode, 0: compare less than mode */
        uint16_t bLowPowerEn            :1;     /*!< 1: Low power mode, 0: high speed mode */
        uint16_t bLongSampleEn          :1;     /*!< 1: long sample mode, 0: short sample mode */
        uint16_t bFiFoScanModeEn        :1;     /*!< 1: FIFO scan mode enable, 0: FIFO scan mode disable */
        uint16_t bCompareAndEn          :1;     /*!< 1: Compare and logic, 0: Compare and logic */
    #ifdef CPU_KE02
        uint16_t bReverse               :7;   
    #else
        uint16_t bHTRGMEn               :1;     /*!< one hardware trigger pulse trigger multiple conversions in fifo mode */      
        uint16_t bHTRGMASKEn            :1;        /*!< Hardware trigger mask enable. */
        uint16_t bHTRGMASKSEL           :1;        /*!< This field selects hardware trigger mask mode. */
        uint16_t Reserve                :4;
    #endif
    }ADC_SettingType;

    其实   uint16_t bHardwareTriggerEn     :1;指的是bHardwareTriggerEn    在该结构体中占了一位,而不是说bHardwareTriggerEn 这个值初始为1.
    在main程序中第一行就是:    ADC_ConfigType  sADC_Config = {0};
    说明,其实bHardwareTriggerEn 这位已经被初始化为0了,所以你之后在    ADC_Init( ADC, &sADC_Config);中会看到bHardwareTriggerEn=0.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-4-17 08:39
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    33

    主题

    788

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2796
    最后登录
    1970-1-1
     楼主| 发表于 2014-12-9 21:36:24 | 显示全部楼层
    FSL_TICS_ZJJ 发表于 2014-12-9 18:28
    楼主可能误解了如下结构体的定义:
    typedef struct
    {

    您好, ADC_ConfigType  sADC_Config = {0}是这个嵌套结构体的所有成员均置零么,我测试了下当ADC_ConfigType  sADC_Config = {1}时,所有结构体的成员还是0,这是什么原因呢,谢谢  
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-12-10 14:08:00 | 显示全部楼层
    qiu-368230 发表于 2014-12-9 21:36
    您好, ADC_ConfigType  sADC_Config = {0}是这个嵌套结构体的所有成员均置零么,我测试了下当ADC_Config ...

    这个你需要去看下C语言中关于结构体的初始化,以及变量的定义。
    先简单和你讲讲具体建议你去看C语言的书籍。
    ADC_ConfigType  sADC_Config = {0}的确是把所有的值都初始化为0、
    ADC_ConfigType  sADC_Config = {1}这个你只能设置sADC_Config.sSetting.bIntEn=1;
    因为,后面没有定义的都默认为0.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-4-17 08:39
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    33

    主题

    788

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2796
    最后登录
    1970-1-1
     楼主| 发表于 2014-12-10 14:28:50 | 显示全部楼层
    FSL_TICS_ZJJ 发表于 2014-12-10 14:08
    这个你需要去看下C语言中关于结构体的初始化,以及变量的定义。
    先简单和你讲讲具体建议你去看C语言的书 ...

    还是您专业,这段时间也找了相关的资料,各种说法都有,您说的这个就明白了,谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-12-12 11:46:11 | 显示全部楼层
    qiu-368230 发表于 2014-12-10 14:28
    还是您专业,这段时间也找了相关的资料,各种说法都有,您说的这个就明白了,谢谢  ...

    不客气,后续有问题,欢迎继续发帖交流。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 13:25 , Processed in 0.109787 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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