OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6685|回复: 4

STM32F103外部中断实验求助

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2020-7-20
在线时间
7 小时
发表于 2020-8-4 10:50:48 | 显示全部楼层 |阅读模式
1金钱
用了原子的例程,然后串口调试发现每次按按钮都会重新开始计算延迟,现象是每次按按钮,串口都连着出俩OK,想实现OK一直按照那个延迟输出,不受中断影响,这个该怎么改?
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "beep.h"
#include "exti.h"          
//ALIENTEK精英STM32F103开发板 实验5
//外部中断 实验  
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司
int main(void)
{                                          
        Stm32_Clock_Init(9);        //系统时钟设置
        uart_init(72,115200);         //串口初始化为115200
        delay_init(72);                            //延时初始化
        LED_Init();                                  //初始化与LED连接的硬件接口
        BEEP_Init();                         //初始化蜂鸣器IO
        EXTIX_Init();                 //初始化外部中断输入                
        LED0=0;                                        //先点亮红灯
        while(1)
        {            
                printf("OK\r\n");       
                delay_ms(1000);          
        }
}


最佳答案

查看完整内容[请看2#楼]

中断里面调用了delay,就会影响其他地方的delay,导致其他地方的delay早结束。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2020-8-4 10:50:49 | 显示全部楼层
NuclearFriends 发表于 2020-8-5 08:24
没做什么,就是原子的例程,烧进板子看效果的,然后发现按按钮之后串口那里会连出俩OK

中断里面调用了delay,就会影响其他地方的delay,导致其他地方的delay早结束。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2020-8-5 00:20:16 | 显示全部楼层
你在中断里面做了啥?
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2020-7-20
在线时间
7 小时
 楼主| 发表于 2020-8-5 08:24:23 | 显示全部楼层
正点原子 发表于 2020-8-5 00:20
你在中断里面做了啥?

没做什么,就是原子的例程,烧进板子看效果的,然后发现按按钮之后串口那里会连出俩OK
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2022-11-14
在线时间
0 小时
发表于 2022-11-22 15:46:35 | 显示全部楼层
正点原子 发表于 2020-8-5 00:20
你在中断里面做了啥?

为了避免这个问题出现,是不是应该在中断里的延时函数使用其他定时器?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 22:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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