查看: 3552|回复: 6

[已解决] KE02Z64的ADC连续转换功能的一个疑问(已解决)

[复制链接]

该用户从未签到

196

主题

495

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1482
最后登录
2020-12-3
发表于 2014-7-3 10:16:54 | 显示全部楼层 |阅读模式
KE02Z64的ADC模块的ADCO位使能后,可以进行连续转换。疑问有以下两点:
1,这个连续转换是一次转换完成后,马上进行下一次的转换吗?中间不会停止吗?
2,假如我开启了连续转换功能,同时我定期去读取ADC结果寄存器。会不会出现一种情况,ADC在更改结果寄存器的同时,我的程序
也在读取结果寄存器,这样导致我读到的数据被篡改了,而获得了一个错误的数据?()
我知道答案 目前已有5人回答
回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-7-3 13:52:12 | 显示全部楼层

RE:KE02Z64的ADC连续转换功能的一个疑问

你好,楼主!
1. 这个连续转换是一次转换完成后,马上进行下一次的转换吗?中间不会停止吗?
是连续进行
2.假如我开启了连续转换功能,同时我定期去读取ADC结果寄存器。会不会出现一种情况,ADC在更改结果寄存器的同时,我的程序也在读取结果寄存器,这样导致我读到的数据被篡改了,而获得了一个错误的数据?
ADC的转换结果存在FIFO中,你定期读数据,也将FIFO前期存的ADC转换结果读出来。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2014-7-3 14:52:08 | 显示全部楼层

    RE:KE02Z64的ADC连续转换功能的一个疑问

    可以用DMA中断,DMA取满以后会自动产生一个中断,然后可以去处理数据了。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-4-1 22:48
  • 签到天数: 302 天

    连续签到: 1 天

    [LV.8]以坛为家I

    87

    主题

    7322

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    4614
    最后登录
    2021-1-25
    发表于 2014-7-3 23:33:40 | 显示全部楼层

    RE:KE02Z64的ADC连续转换功能的一个疑问

    中断的时候最好再检查下数据
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2018-10-30 22:37
  • 签到天数: 28 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    9

    主题

    435

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1107
    最后登录
    2020-8-28
    发表于 2014-7-4 08:59:33 | 显示全部楼层

    回复:KE02Z64的ADC连续转换功能的一个疑问

    回复第 3 楼 于2014-07-03 14:52:08发表:
    可以用DMA中断,DMA取满以后会自动产生一个中断,然后可以去处理数据了。
    KE02没有DMA的
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-7-4 09:16:16 | 显示全部楼层

    回复:KE02Z64的ADC连续转换功能的一个疑问

    回复第 5 楼 于2014-07-04 08:59:33发表:
    回复第 3 楼 于2014-07-03 14:52:08发表:
    可以用DMA中断,DMA取满以后会自动产生一个中断,然后可以去处理数据了。
    KE02没有DMA的
     
    是的!

     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    196

    主题

    495

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1482
    最后登录
    2020-12-3
     楼主| 发表于 2014-7-4 10:19:53 | 显示全部楼层

    回复:KE02Z64的ADC连续转换功能的一个疑问

    回复第 2 楼 于2014-07-03 13:52:12发表:
    你好,楼主!
    1. 这个连续转换是一次转换完成后,马上进行下一次的转换吗?中间不会停止吗?
    是连续进行
    2.假如我开启了连续转换功能,同时我定期去读取ADC结果寄存器。会不会出现一种情况,ADC在更改结果寄存器的同时,我的程序也在读取结果寄存器,这样导致我读到的数据被篡改了,而获得了一个错误的数据?
    ADC的转换结果存在FIFO中,你定期读数据,也将FIFO前期存的ADC转换结果读出来。 

    如果我不开启FIFO功能呢?另外8位机都没有FIFO,是不是存在我上面提到的风险呢?
    即使存在FIFO也存在上面的风险的。
    在操作系统中,针对这种情况,提出了互斥的概念,它们通过互斥量等方法来避免出现上面的风险,不知道ADC模块是怎么做的?
     
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 21:38 , Processed in 0.097129 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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