热门关键词:数字隔离器   隔离485   温度传感器   通用MCU   MOSFET   IGBT   CAN总线收发器   BLE通讯模块  NB-IOT   计量芯片   SOC芯片

当前位置:首页 > 常见问答

NST1001的MCU控制流程及参考程序

2019-04-12 09:58:00

NST1001 的 MCU 控制参考程序 
NST1001 读取温度计数程序
 
辅助程序 1,定义用到的变量 
unsigned intCOUNT=0; //定义计数值变量 COUNT
extern charC_FLAG=0; //定义中断服务标志位 C_FLAG;
extern charTemp_enable=1; //定义温度使能;
辅助程序 2,中断子函数 
void KBI0_IRQHandler(void) //中断函数 KBI0,外部中断对应 GPIO2 上升沿
{
CLEAN_KBI0_FLAG; //清除 KBI0 中断标志位
COUNT++; //外部中断 KBI0 每触发一次,计数器加 1,
C_FLAG =1;
}
辅助程序 3,延时子函数
voiddelay_ms(uint32 ms)
{
for(i=0;i }
主程序 
int main(void) //主程序 main
{
while(1)
{
if(Temp_enable == 1) //温度测量使能为 1 时,主程序执行温度采集循环;设置使能为 0 跳
过温度测量执行其他程序
{
MCU_GPIO1=1; //NST1001 连接 IO 口置高,芯片上电工作
C_FLAG = 0; //置位 C_FLAG,准备采集数据
delay_ms(1); //等待外部 GPIO2 的第一个脉冲,用于屏蔽上电后第一段空档期;
Enable_irq(KBI0_IRQn); //开启外部中断 KBI0,容许外部触发
if(C_FLAG==1)
{
C_FLAG = 0; 
delay_ms(10); //延时等待十毫秒, 无外部中断触发
if(C_FLAG==0) //再次判断读取数据标志位,是否被外部中断 KBI0 触发
{ Disable_irq(KBI0_IRQn); //关闭外部中断 KBI0
DATA= COUNT; //获取温度计数值,DATA 即为采集到的当前温度值计数
COUNT=0;
Enable_irq(KBI0_IRQn); //开启外部中断 KBI0
}
}
}
Else(Temp_enable==0)
{
…………//其它程序
}
}
return 0;
}

我要分享:

更多推荐产品

收缩
  • 电话咨询

  • 025-86899868