外部中断的初始化,要放在其他初始化的后面吗?

外部中断的初始化,要放在其他初始化的后面吗?只有外部中断初始化时不能配置到外部中断寄存器。

截图看下你的程序?是外部中断不会配置?还是?

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/247889
  • 这篇博客也不错, 你可以看下外部中断及其中断优先级管理
  • 除此之外, 这篇博客: 运算放大器在强电磁干扰下会出现什么变化?中的 1. 实验研究方法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 直接使用一个强电磁干扰源,在普通的运发附近,通过示波器和万用表测量运放的输出在强电磁干扰下的变化情况。

    为了方便起见,使用面包板作为电路的搭建平台。由于手边的多个低功耗的运算放大器都是标贴封装的(SOT23, SOP8),通过快速制版获得一个转接板。将运算放大器的引脚形成间距为100mil的排线插针,方便安置在面包板上。

    测试电路板及其快速制版PCB测试电路板及其快速制版PCB

    下面是制作完成之后,将LMV321(单集成运发,Rail-Rail, 5V),LMV385(双集成运发,Rail-Rail,5V), LM386 (音频小功率放大器),焊接在转接板上。

    快速制版之后,焊接完毕的电路板快速制版之后,焊接完毕的电路板

    下图是三种转接板的电路原理图。很简单。在转接板上还配有电源的滤波电容。

    电路的原理图以及对应的焊接外部引脚功能定义电路的原理图以及对应的焊接外部引脚功能定义.

     

  • 您还可以看一下 程张浩老师的微信小程序项目实战之我画你猜视频课程课程中的 作品详情页面-作品展示小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    在嵌入式系统中,外部中断的初始化需要在其他初始化操作之后进行。这是因为外部中断通常需要读取其他初始化操作中配置的寄存器或者使用其他初始化模块提供的功能。

    以下是一种可能的外部中断初始化的步骤:

    1. 首先,根据嵌入式系统的硬件和外部中断接口的要求,确定要使用的外部中断引脚,并将其设置为输入模式。这可以通过设置相应的寄存器或者使用引脚配置函数来实现。比如,在使用8051系列单片机时,可以使用P3口的相应引脚作为外部中断引脚,并将其设置为输入模式。
    // 设置P3口的 P3.2 引脚为外部中断引脚,并将其设置为输入模式
    IT0 = 1;
    
    1. 然后,配置外部中断的触发方式,例如设置触发沿(上升沿或下降沿触发)或者电平触发。这也可以通过相应的寄存器或函数进行设置。比如,在使用8051系列单片机时,可以使用TCON寄存器的相关位来设置外部中断的触发方式。
    // 设置外部中断 INT0 的触发方式为上升沿触发
    IT0 = 1;
    
    1. 接着,编写外部中断的中断服务程序(Interrupt Service Routine, ISR)。这个程序将在触发外部中断时被调用执行相应的任务。在编写中断服务程序时,需要注意以下几点:
    2. 在函数开头使用适当的关键字(如interrupt)来标识该函数为中断服务程序。
    3. 中断服务程序需要完成的任务,例如读取外部中断状态标志,执行相应的操作等。
    4. 在程序结束时,清除中断状态标志,使得下一次中断能够被正确触发。
    // 外部中断 INT0 的中断服务程序
    void INT0_ISR() interrupt 0
    {
        // 处理外部中断的触发事件
        // ...
    
        // 清除中断状态标志位
        INT0 = 0;
    }
    
    1. 最后,在主函数中使能外部中断,并启动系统的中断功能。这可以通过相应的寄存器或函数进行设置。比如,在使用8051系列单片机时,可以使用IE寄存器的相关位来使能外部中断。
    // 使能外部中断 INT0
    EX0 = 1;
    
    // 启用总中断
    EA = 1;
    

    需要注意的是,不同的嵌入式系统和平台对外部中断的初始化步骤和方法可能会有所不同。因此,在具体开发过程中,需要参考相关的硬件手册和编程手册来正确进行外部中断的初始化。