熱門關鍵詞:數字隔離器(qì)   隔離485   溫度傳感器(qì)   通(tōng)用MCU   MOSFET   IGBT   CAN總線收發器(qì)   BLE通(tōng)訊模塊  NB-IOT   計(jì)量芯片   SOC芯片

當前位置:首頁 > 常見問(wèn)答(dá)

NST1001的(de)MCU控制流程及參考程序

2019-04-12 09:58:00

NST1001 的(de) MCU 控制參考程序 
NST1001 讀取溫度計(jì)數程序
 
輔助程序 1,定義用到的(de)變量 
unsigned intCOUNT=0; //定義計(jì)數值變量 COUNT
extern charC_FLAG=0; //定義中斷服務标志(zhì)位 C_FLAG;
extern charTemp_enable=1; //定義溫度使能;
輔助程序 2,中斷子(zǐ)函數 
void KBI0_IRQHandler(void) //中斷函數 KBI0,外(wài)部中斷對(duì)應 GPIO2 上(shàng)升沿
{
CLEAN_KBI0_FLAG; //清除 KBI0 中斷标志(zhì)位
COUNT++; //外(wài)部中斷 KBI0 每觸發一次,計(jì)數器(qì)加 1,
C_FLAG =1;
}
輔助程序 3,延時(shí)子(zǐ)函數
voiddelay_ms(uint32 ms)
{
for(i=0;i }
主程序 
int main(void) //主程序 main
{
while(1)
{
if(Temp_enable == 1) //溫度測量使能為(wèi) 1 時(shí),主程序執行溫度采集循環;設置使能為(wèi) 0 跳(tiào)
過溫度測量執行其他(tā)程序
{
MCU_GPIO1=1; //NST1001 連接 IO 口置高(gāo),芯片上(shàng)電(diàn)工(gōng)作(zuò)
C_FLAG = 0; //置位 C_FLAG,準備采集數據
delay_ms(1); //等待外(wài)部 GPIO2 的(de)第一個(gè)脈沖,用于屏蔽上(shàng)電(diàn)後第一段空檔期;
Enable_irq(KBI0_IRQn); //開(kāi)啓外(wài)部中斷 KBI0,容許外(wài)部觸發
if(C_FLAG==1)
{
C_FLAG = 0; 
delay_ms(10); //延時(shí)等待十毫秒, 無外(wài)部中斷觸發
if(C_FLAG==0) //再次判斷讀取數據标志(zhì)位,是否被外(wài)部中斷 KBI0 觸發
{ Disable_irq(KBI0_IRQn); //關閉外(wài)部中斷 KBI0
DATA= COUNT; //獲取溫度計(jì)數值,DATA 即為(wèi)采集到的(de)當前溫度值計(jì)數
COUNT=0;
Enable_irq(KBI0_IRQn); //開(kāi)啓外(wài)部中斷 KBI0
}
}
}
Else(Temp_enable==0)
{
…………//其它程序
}
}
return 0;
}

我要分享:

更多推薦産品

收縮
  • 電(diàn)話(huà)咨詢

  • 025-86899868