发新帖我要提问
12
返回列表
打印
[STM32F1]

请问下问什么设置定时器就不能进入外部中断了?

[复制链接]
楼主: llljh
手机看帖
扫描二维码
随时随地手机跟帖
21
jcky001| | 2024-2-19 12:35 | 只看该作者 回帖奖励 |倒序浏览
检查中断优先级设置,并确保外部中断的优先级高于或至少等于定时器中断。

使用特权

评论回复
22
两只袜子| | 2024-2-19 12:36 | 只看该作者
检查外部中断的触发方式(上升沿、下降沿或低电平有效)是否正确设置。如果设置不正确,那么即使外部信号存在,中断也可能不会被触发。

使用特权

评论回复
23
elephant00| | 2024-2-19 12:36 | 只看该作者
可能是硬件问题

使用特权

评论回复
24
和下土| | 2024-2-27 19:41 | 只看该作者
在定时器中断服务程序中重置了中断使能寄存器

使用特权

评论回复
25
和下土| | 2024-2-27 19:41 | 只看该作者
外部中断的开启了么?

使用特权

评论回复
26
Henryko| | 2024-2-29 23:07 | 只看该作者
你是不没有对应的中断函数

使用特权

评论回复
27
裤脚口感好| | 2024-3-31 00:55 | 只看该作者
您在主函数中开启了定时器中断(ET0=1),但是没有提供相应的定时器中断服务程序。因此,当定时器中断发生时,系统试图执行不存在的中断服务程序,可能会导致程序出错或无法进入外部中断。

使用特权

评论回复
28
裤脚口感好| | 2024-3-31 00:59 | 只看该作者
对于8051系列单片机,中断优先级通常由中断服务程序的排列顺序决定,排在前面的中断服务程序优先级更高。

使用特权

评论回复
29
裤脚口感好| | 2024-3-31 02:15 | 只看该作者
需要看看你是不是正确的定时器中断服务程序,或者在关闭定时器中断的情况下进行测试。给你一个修正后的代码示例:
#include <reg52.h> // 导入51单片机的寄存器定义

void main(void) {
    EA = 1;    // 允许中断
    EX0 = 1;   // 设定接收INT0的中断
    TMOD = 0x01; // 定时器初始化为模式1
    TH0 = 0xFF;
    TL0 = 0xF6;
    TR0 = 1;   // 启动定时器
    ET0 = 0;   // 关闭定时器中断,如果不需要定时器中断,可以设置为0

    while (1);
}

void decode(void) interrupt 0 using 2 { // 外部中断函数,内容为红外遥控器解码函数
    // 这里是红外遥控器解码的相关代码
}


在这个修正后的代码中,我将ET0设置为0,即关闭了定时器中断。这样,在主函数中就不会触发定时器中断了,从而不会影响到外部中断的执行。

使用特权

评论回复
30
Clyde011| | 2024-6-16 07:16 | 只看该作者

要把纹波电流平均分布

使用特权

评论回复
31
公羊子丹| | 2024-6-16 08:09 | 只看该作者

发射出过量的电磁干扰(EMI)

使用特权

评论回复
32
万图| | 2024-6-16 09:12 | 只看该作者

典型的转换时间大约是50ns

使用特权

评论回复
33
Uriah| | 2024-6-16 10:15 | 只看该作者

这种方法可以使散热体积和表面面积增大两倍多

使用特权

评论回复
34
帛灿灿| | 2024-6-16 12:11 | 只看该作者

负载环能以直流方式汲取能量

使用特权

评论回复
35
Bblythe| | 2024-6-16 13:14 | 只看该作者

功率开关漏极(或集电极)

使用特权

评论回复
36
周半梅| | 2024-6-16 15:10 | 只看该作者

输出整流器交流电流环路

使用特权

评论回复
37
Pulitzer| | 2024-6-16 16:13 | 只看该作者

在其他的交流电流环路都布置好后再放置

使用特权

评论回复
38
童雨竹| | 2024-6-16 18:09 | 只看该作者

任何与多条功率线相连的功率器件要尽可能紧挨在一起,以减短连线长度

使用特权

评论回复
39
Wordsworth| | 2024-6-16 19:12 | 只看该作者

工作时的电压降低了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则