查看: 8658|回复: 10

[讨论] 在采样中断中将数据存到数组中,存满后在main函数中输出

[复制链接]
回帖奖励 8 NXP金币 回复本帖可获得 2 NXP金币奖励! 每人限 1 次(中奖概率 80%)

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
发表于 2017-4-10 15:04:27 | 显示全部楼层 |阅读模式
本帖最后由 胡孟龙 于 2017-4-10 16:28 编辑

在ADC采样中断中将数据存到数组中,存满后在main函数中一次性输出打印怎么实现。
我的方法是在ADC采样完成中断中判断存满后清零标志位,用goto语句跳转到主函数中的输出部分,先关闭总中断,输出,再开启总中断。
但是遇到的问题是:
1、goto语句好像不能跳转出中断服务函数。
2、CW环境不知道如何开启总中断。

大家有没有别的好方法将采集到的数据缓存,再一次性输出。
回复

使用道具 举报

  • TA的每日心情
    奋斗
    6 小时前
  • 签到天数: 2119 天

    连续签到: 3 天

    [LV.Master]伴坛终老

    65

    主题

    8482

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    14354
    最后登录
    2025-9-10
    发表于 2017-5-25 14:25:09 | 显示全部楼层

    回帖奖励 +2 NXP金币

    中断里加标志位,存满后置位,主程序里一直判断这个标志位,置为后开始处理,处理完清零 1.png
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16871
    最后登录
    1970-1-1
    发表于 2017-4-10 15:19:17 | 显示全部楼层
    通常函数之间是调用关系,怎么能goto?中断函数是中断发生自动执行的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    32

    主题

    138

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    390
    最后登录
    2017-12-29
     楼主| 发表于 2017-4-10 16:04:01 | 显示全部楼层
    lkl0305 发表于 2017-4-10 15:19
    通常函数之间是调用关系,怎么能goto?中断函数是中断发生自动执行的

    我的意思是中断中判断数组存满了就去主函数中输出。现在我又加了个标志位来进行判断。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    723

    主题

    6382

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    25491
    最后登录
    2025-9-9
    发表于 2017-4-12 13:36:59 | 显示全部楼层

    回帖奖励 +2 NXP金币

    不建议你用goto,小心跳飞了。
    就是存满之后,标志置位,然后在主程序中判断标志,如果标志置位,那么统一打印数据。
    关于中断的开启,使用如下代码:
    #define EnableInterrupts asm(" CPSIE i");

    #define DisableInterrupts asm(" CPSID i");
    然后直接调用EnableInterrupts 开启,DisableInterrupts 关闭。
    我记得这个问题,我之前已经告诉过你了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-11-22 09:55
  • 签到天数: 179 天

    连续签到: 1 天

    [LV.7]常住居民III

    12

    主题

    1122

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1377
    最后登录
    2019-11-22
    发表于 2017-5-24 19:11:50 | 显示全部楼层

    回帖奖励 +2 NXP金币

    goto肯定跳不出中断了,要是跳出了又会进来的
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    32

    主题

    138

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    390
    最后登录
    2017-12-29
     楼主| 发表于 2017-5-25 12:35:24 | 显示全部楼层
    队长shiwo 发表于 2017-5-24 19:11
    goto肯定跳不出中断了,要是跳出了又会进来的

    是的,goto只能在同一个函数中跳转
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9415
    最后登录
    2022-5-12
    发表于 2017-6-2 09:05:00 | 显示全部楼层

    回帖奖励 +2 NXP金币

    mark 一下
    好好
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-6 07:38
  • 签到天数: 736 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2017-6-2 09:25:28 | 显示全部楼层

    回帖奖励 +2 NXP金币

    goto处理不好容易跑飞
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-12-27 08:01
  • 签到天数: 45 天

    连续签到: 1 天

    [LV.5]常住居民I

    6

    主题

    65

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    283
    最后登录
    2018-1-15
    发表于 2017-6-8 08:00:58 | 显示全部楼层

    回帖奖励 +2 NXP金币

    中断里加标志位,存满后置位,主程序里一直判断这个标志位,置为后开始处理,处理完清零
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-9-10 17:31 , Processed in 0.109434 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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