STC15F104E的外部中断工作异常
STC15F104E使用了外部中断,发现中断工作有时会失效,必需重新上电才能恢复,使用中不时会失效。
1 /*******************************************************************
2 INT0 or 1中断函数
3 *******************************************************************/
4 #if(VER==1)
5 void exint1() interrupt 2 //INT1,interrupt 2 (location at0013H)
6 #endif
7 #if(VER==2)
8 void exint0() interrupt 0 //INT0,interrupt 0 (location at0003H)
9 #endif
10 {//static uchar CountTemp=0; //
11 // static bit flag_Hand=0; //标记用于手动开关在开的状态下灯灭,要点亮需再开关一次手动开关。
12 u8_CntTim001=0;
13 if(RelayCtl)
14 // if(DetInput) //read INT1(P3.3)port status,1:上升沿中断 0:下降沿中断
15 { RelayCtl=0; //关灯
16 flag_RelayState=RelayCtl; //存储继电器状态
17
18 flag_countdown_enable=0; //倒计时使能标志,0除能,1使能
19 flag_SetCouDownIndict=0; //倒计时开始指示,0指示关,1指示开,自动清0.【灭一下指示】
20 flag_HandCouDownIndict=1; //机械手动开关倒计时使能标志,0除能,1使能【为1时,HandSwitch_Cnt开始增1计数,为0时,清0】
21 }
22 else
23 { if((HandSwitch_Cnt<=2)&&flag_HandCouDownIndict) //0.25x4=1.0s 如果关灯时间在1.0s内又重新开灯时。//2020/12/03 改0.25x2=0.5s
24 { flag_countdown_enable=1; //倒计时使能标志,0除能,1使能【使能即进入倒计时】
25 flag_SetCouDownIndict=1; //自动关指示标置,0指示关,1指示开,自动清0. 【灭一下指示】
26 u8_CntTim101=0;
27 u8_CntTim102=0; //两计数提前清0
28 RelayCtl=1;
29 flag_RelayState=1; //存储继电器状态
30 DelayTimeSet(BUF_IAP2_ADDRESS_0); //设置延时关时间
31 }
32 else
33 { RelayCtl=1; //开灯
34 flag_RelayState=RelayCtl; //存储继电器状态
35 if(flag_SetCouDownType) //设置自动关类型标置==IapReadByte(IAP2_ADDRESS+1) //20190212 1使能,0除能
36 { flag_countdown_enable=1; //倒计时使能标志,0除能,1使能【使能即进入倒计时】
37 flag_SetCouDownIndict=0; //自动关指示标置,0指示关,1指示开,自动清0. 【灭一下指示】
38 u8_CntTim101=0;
39 u8_CntTim102=0; //两计数提前清0
40 RelayCtl=1;
41 flag_RelayState=1; //存储继电器状态
42 DelayTimeSet(BUF_IAP2_ADDRESS_0); //设置延时关时间
43 }
44 }
45 flag_HandCouDownIndict=0; //机械手动开关倒计时使能标志,0除能,1使能 【为1时,HandSwitch_Cnt开始增1计数,为0时,清0】
46 }
47 }
经查旧版Spec内有说明:A版本的外部中断有时会异常,建议不要使用,C版本的外部中断可正常使用。

最好使用新版本的芯片,如:STC15F104W、STC15W104,如不知芯片有Bug,使用过程中发现异常很让人抓狂。
STC15F104E的外部中断工作异常的更多相关文章
- linux中断与异常
看了<深入理解linux内核>的中断与异常,简单总结了下,如果有错误,望指正! 一 什么是中断和异常 异常又叫同步中断,是当指令执行时由cpu控制单元产生的,之所以称之为异常,是因为只有在 ...
- ASM:《X86汇编语言-从实模式到保护模式》第17章:保护模式下中断和异常的处理与抢占式多任务
★PART1:中断和异常概述 1. 中断(Interrupt) 中断包括硬件中断和软中断.硬件中断是由外围设备发出的中断信号引发的,以请求处理器提供服务.当I/O接口发出中断请求的时候,会被像8259 ...
- STM32之外部中断控制
一.STM32外部中断 1.STM32外部中断结构图 如上图所示:主要包括四个环节,GPIO.AFIO.EXTI.NVIC.以STM32F103VE(100脚)为例说明硬件模块的数量: GPIO: ...
- Linux内核中断和异常分析(上)
中断,通常被定义为一个事件.打个比方,你烧热水,水沸腾了,这时候你要去关掉烧热水的电磁炉,然后再去办之前手中停不下来的事情.那么热水沸腾就是打断你正常工作的一个信号机制.当然,还有其它的情况,我们以后 ...
- Win32下的中断和异常
本文是Matt Pietrek在1997年月10月的MSJ杂志Under The Hood专栏上发表的文章.中断和异常在DOS时代是整个系统的灵魂,但Windows已将其隐藏到了系统深处.Matt P ...
- 《Tsinghua os mooc》第1~4讲 启动、中断、异常和系统调用
资源 OS2018Spring课程资料首页 uCore OS在线实验指导书 ucore实验基准源代码 MOOC OS习题集 OS课堂练习 Piazza问答平台 暂时无法注册 疑问 为什么用户态和内核态 ...
- CC2530外部中断
一.中断基础概念 内核与外设之间的主要交互方式有两种:轮询和中断.中断系统使得内核具备了应对突发事件的能力. 在执行CPU当前程序时,由于系统中出现了某种急需处理的情况,CPU暂停正在执行的程序,转 ...
- x86架构中的外部中断结构-Part 1:中断控制器的演化
本文主要讲解了x86体系架构从外部设备接受中断的过程,本文是系列文章的第一部分,试图回答以下问题: 什么是PIC以及它的用途是什么? 什么是APIC以及它的用途是什么?LAPIC和I/O APIC的目 ...
- STM32f103之外部中断
一.背景 有个需求,IO口检测上升沿,然后做相应的动作.在此记录STM32F103的外部中断结构及配置方法, 以备下次快速上手使用. 有许多不太明白,又是老司机(:-D)帮忙,真的是站在别人的肩膀上会 ...
- 转别人的 STM32外部中断使用注意事项
前言:这些问题都是我之前在工作中遇到的,后来觉得需要总结,自己记忆不好,所以在这个给自己打个mark. 一:触发方式 STM32 的外部中断是通过边沿来触发的,不支持电平触发: 二:外部中断分组 ST ...
随机推荐
- 生产环境BigDecimal用错了,已哭晕在厕所。。。
大家好,我是苏三,又跟大家见面了. 前言 在日常开发中,很多小伙伴喜欢用 BigDecimal 来处理精确计算,比如钱.分数.比例啥的. 理论上,它比 double 或 float 更精确,但如果你用 ...
- Zoom
1.zoom to layer ILayer layer = (ILayer)m_mapControl.CustomProperty; m_mapControl.Extent = layer.Area ...
- vue中this.$nextTick()
this.$nextTick()是在下一次DOM更新后执行其指定回调函数 this.$nextTick(回调函数) 使用场景:在改变数据后,要对更新后的DOM进行操作时使用
- uni-app 横竖屏问题
前情 uni-app是我很喜欢的跨平台框架,它能开发小程序,H5,APP(安卓/iOS),对前端开发很友好,自带的IDE让开发体验也很棒,公司项目就是主推uni-app 坑位 最近有用户反馈闪屏页也叫 ...
- Oracle无法远程连接的原因及解决办法
前提 虚拟机Linux(centos7)下静默安装Oracle数据库,本地能访问.文章参考:Linux-CentOS7下安装Oracle11g - sankuoshu - 博客园 (cnblogs.c ...
- vscode实现Markdown实时预览
vscode - 插件搜索: Markdown Preview Enhanced 安装 然后打开vscode预览框,即可. That's ALL
- 大咖论道|金融AI下一阶段的发展思考
回顾过去十年,人工智能(AI)技术的发展速度让人惊叹,金融行业是现今AI应用最具潜力和最为活跃的领域之一.通过多年渗透,AI不间断从技术驱动迈向场景驱动,已广泛与金融业务深度融合,衍生出众多新业态.新 ...
- Excel 真的很强大之 Excel DDE 攻击
https://pentestlab.blog/2018/01/16/microsoft-office-dde-attacks/ =cmd|'/c calc.exe'!A1 =MSEXCEL|'\.. ...
- AI视频抠图来了!还可以替换视频背景,附下载链接
虽然人工智能正在飞速发展中,图像处理技术也在不断升级,但视频背景去除一直都是图像处理任务中最具挑战性的难题之一 Clipper是一款专注于高精度图像分割的AI工具,用于图像和视频的背景去除,允许用户直 ...
- 渗透测试-前端加密分析之RSA+AES
本文是高级前端加解密与验签实战的第8篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过RSA与AES加密来爆破登录. 由于RSA加解密有长度限制,以及解密速度等问题, ...