應廣微控制器-外部中斷demo
對於一般的應用,比如鍵盤,充電檢測燈,甚至一些通訊,定時查詢埠狀態就OK了,但是一些特殊應用,特別是通訊類的。最好還是用中斷,那不多說,上程式碼。歡迎探討和交流!
#include "extern.h"
#define DISABLE 0
#define ENABLE 1
#define HIGH 1
#define LOW 0
#define DISABLE 0
#define ENABLE 1
#define EMPTY 0
#define FULL 1
#define ON 1
#define OFF 0
BIT RX :PA.0;
BYTE BitVal1;
BIT bMsFlag :BitVal1.2; /*歷史狀態*/
/*系統變數*/
Word usTmrCnt;
byte usPwmCnt;
//word ucCmd;
void Tmr16InterInit ( void )
{
usTmrCnt=0;
$ T16M IHRC, /1,BIT10
INTEN.T16 =1;/*開啟定時中斷*/
Intrq.T16 =0;/*清除中斷請求*/
ENGINT //全域性中斷開啟
}
void ExtIntInit(void)
{
/*PA0 中斷,使能*/
INTEN.0=1;
/*下降緣中斷
b7:5@00=保留
b4@1=T16下降沿請求中斷?;0=T16上升沿請求中斷
b3:2@00=PB0/PA4上升沿,下降遠均請求中斷,01=上升沿,10=下降沿;11=保留
b1:0@00=PA0/PB5上升沿,下降遠均請求中斷,01=上升沿,10=下降沿;11=保留
*/
integs=0x00;
/*清除PA0/PB5中斷標記*/
Intrq.0=0;
}
void GpioInit (void)
{
$ RX In,pull;
}
void FPPA0 (void)
{
.ADJUST_IC SYSCLK=IHRC/8, IHRC=16MHz, VDD=3V;
$ CLKMD IHRC/8,En_IHRC,En_ILRC,En_WatchDog;
byte temp;
.delay 25*2000;
GpioInit();
ExtIntInit();
Tmr16InterInit();
while (1)
{
wdreset;
if(bMsFlag)
{
bMsFlag=0;
}
}
}
void Interrupt (void)
{
pushaf;
if (Intrq.T16)
{
stt16 usTmrCnt;
Intrq.T16 = 0;
/*1ms 計數*/
usPwmCnt++;
if(usPwmCnt>16)
{
usPwmCnt=0;
bMsFlag=1;
}
}
/*下降沿中斷*/
if ( Intrq.0 )
{
/*清除中斷標記,這裡設定斷點,切換RX狀態就行*/
Intrq.0=0;
}
popaf;
}
/*edit by zhongvv
相關文章
- 微控制器學習(十)紅外遙控與外部中斷
- EXTI-外部中斷
- 應廣微控制器開發案例應廣微控制器11bitPWM配置
- 速推微控制器原理和應用:中斷
- STM32--外部中斷
- 微控制器中斷有什麼作用
- STM32 外部中斷使用方法總結
- 微控制器中volatile的應用
- x86架構中的外部中斷結構-Part 1:中斷控制器的演化架構
- 深圳應廣微控制器比較器測供電電源VDD電壓
- android中activity可以響應外部的action的例子(可以Android
- SpringBoot中配置外部TomcatSpring BootTomcat
- 聯合體在微控制器程式設計中的應用程式設計
- 軟體供應鏈中斷時代
- 【STM32】【STM32CubeMX】STM32CubeMX的使用之二:外部中斷
- 程式設計思路-外部請求,中斷測試,結算費用,帶出logs引數程式設計
- vue 響應性程式碼demoVue
- Linux的中斷響應流程是什麼Linux
- 十速微控制器應用筆記筆記
- LINUX中斷--申請中斷和解除安裝中斷Linux
- STM32F103 高階應用(2)——中斷應用
- 中斷和中斷處理程式
- 十二、Jmeter 斷言-響應斷言、Json 斷言和 Beanshell 斷言JMeterJSONBean
- 中斷
- Facebook暫停中國工具類應用廣告
- 暫時關閉EXTI外部中斷的一個坑 HK32(stm32沒有測試過)
- 因果推斷在騰訊遊戲中的應用遊戲
- 硬中斷,軟中斷,訊號,異常
- 廣告流量反作弊風控中的模型應用模型
- Kubernetes官方java客戶端之三:外部應用Java客戶端
- Android 外部喚起應用跳轉指定頁面Android
- 外部js呼叫vue的methods中的方法JSVue
- 我的第一個Flutter 應用Demo AireportFlutterAI
- JS中的觀察者模式DEMOJS模式
- 外部排序排序
- 原來定時器中斷是個偽中斷定時器
- minos 2.4 中斷虛擬化——中斷子系統
- Web Components中引入外部CSS的 8 種方法WebCSS