查看: 2298|回复: 1

#07/31每日一答:来自Q友相关代码问题

[复制链接]
  • TA的每日心情
    开心
    2025-7-11 08:53
  • 签到天数: 301 天

    连续签到: 2 天

    [LV.8]以坛为家I

    3968

    主题

    7595

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    40581
    最后登录
    2025-9-26
    发表于 2020-7-31 17:43:53 | 显示全部楼层 |阅读模式
    #07/31每日一答:这里的#pragma interrupt alignsp saveall有什么作用,不加会怎样呢?(来自Q友)
    详情如图:
    2.png
    qiandao qiandao
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2025-9-20 13:15
  • 签到天数: 1505 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    97

    主题

    4698

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    10120
    最后登录
    2025-9-20
    发表于 2020-8-1 15:24:41 | 显示全部楼层
    这个编译器的预处理指令我们平时基本照做即可。如果要分析的话,我想可以从以下两个切入点来分析:
    1、"#pragma" 是设定编译器的状态或者是指示编译器完成一些特定的动作。因此,此行代码不是写给单片机执行的,而是告诉编译器要如何做的。
    2、在编写单片机程序时,我们定会涉及中断函数的实现,而中断函数又不同于其它C语言的普通函数,所以这里需要通过 #pragma interrupt 来告诉编译器 “此函数为中断处理函数,请特别对待!”

    如果不加此声明,也许编译器会将此函数编译成普通函数,但在函数调用的时候极可能会导致一些未知与已知异常出现了。


    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-10-5 03:20 , Processed in 0.085109 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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