历史上的今天
返回首页

历史上的今天

今天是:2025年07月17日(星期四)

正在发生

2020年07月17日 | 【MSP430】PM2.5浓度测量

2020-07-17 来源:eefocus

#include "PM2_5.h"

 

void delay(int i);

void calculateA();

void calculateB();

 

 

double timeA,timeB,occupancyA,occupancyB;

int concA,concB;


//----------------得到浓度数据----------------------------

void getPM2_5(){

  TimerAopen();

  TimerBopen();

  while(1){

    if(secB>=10 || secA>=10){                    //设定时间后需要改变

      secB=0;

      secA=0;

      break;

    }

  }

 

  return;

}

 

//----------------发送浓度数据----------------------------

void sendPM2_5(){

  int tempA[4];

  int tempB[4];

  calculateA();                        //计算占空比与浓度

  calculateB();   

  //----------------------------

  /*

  int temp2[10];

  for(int i=0;i<10;i++){

    temp2[i]=(int)width%10;

    width=width/10;

  }

  for(int j=9;j>=0;j--){

    Uart1_PutByte(temp2[j]+48);

  }

  */

  //----------------------------

  for(int i=10000;i>0;i--);

  for(int i=10000;i>0;i--);

  for(int i=10000;i>0;i--);

  for(int i=10000;i>0;i--);

                                     //发送数据  

  for(int i=0;i<4;i++){

    tempA[i]=(int)concA%10;

    concA=concA/10;

    

    tempB[i]=(int)concB%10;

    concB=concB/10;

  }

 

  for(int j=3;j>=0;j--){

     Uart1_PutByte(tempA[j]+48);

  }

  //Uart1_PutByte('t');

  for(int j=3;j>=0;j--){

     Uart1_PutByte(tempB[j]+48);

  }

  //Uart1_PutByte('n');

  widthA=0;

  widthB=0;

  

 

}


void delay(int i){

  for(int x=i;x>0;x--)

    for(int j=110;j>0;j--);

}

 

 

void calculateA(){

  timeA=widthA*0.000001;

  occupancyA=timeA*(1.0/10.0)*100;                 //设定时间后需要改变

  //转换为浓度

  concA=(int)(occupancyA*20);

}

 

void calculateB(){

  timeB=widthB*0.000001;

  occupancyB=timeB*(1.0/10.0)*100;                 //设定时间后需要改变

  //转换为浓度

  concB=(int)(occupancyB*20);

}

推荐阅读

史海拾趣

问答坊 | AI 解惑

无线模块

本帖最后由 paulhyde 于 2014-9-15 09:39 编辑 传一个无线供电模块资料 希望对大家有帮助  …

查看全部问答>

请教将12.xMHz方波二倍频到24.xMHz,有什么方法?

1,用fpga的pll或pll的IC来做。(现不考虑) 2,用RC和门电路搭一个,怎么做呢?占空比50%,可以吗? 3,听说可以RC结合FPGA/CPLD,这个和2的方法应该是一致的吧? 4,还有其他方法吗?…

查看全部问答>

错误:workQPanic: Kernel work queue overflow ??

我的环境是mpc8245 + vxworks5.5.2板子上有PCI网卡和PCI-USB卡。配置好系统引导启动后在串口输出interrupt: panic: netJobAdd: ring buffer overflow!  workQPanic: Kernel work queue overflow。不知是什么引起??…

查看全部问答>

急,使用SIRF A4烧录MLC出问题!

我使用是SIRF A4,系统WINCE6.0,MLC H27UAG8T2MTR。烧录器为BEEHIVE4+,制作镜像时不能去掉空白和坏块,烧录后不能启动机器,请指教!谢谢!…

查看全部问答>

请问,有用过IP摄像头的吗?

我使用的是arm板,现在想做个视频监控,查阅相关资料后,想试试用IP摄像头,这个方案可行吗,大家有用过的吗? 有没有提供wince下示例程序的产品呢? 希望大家给点建议,谢谢! 用普通监控摄像头的话,需要视频采集卡,但没找到能在wince下使用 ...…

查看全部问答>

郁闷! 发泄一下!

每周5天半! 每天工作12~13小时不算加班费,还不能说是加班,只能说是赶工! 工作到晚上12点,1点,2点, 第二天依然必须9点上班, 否则算迟到! 只要一天不加班, 老板心里就不爽, 第二天就开始催进度, 要缩短开发时间! 全年12个月工资, 无任何奖金津贴 ...…

查看全部问答>

PIC16f877

谁有C语言写的A/D转换程序啊?让我参考参考(PIC16F877) [ 本帖最后由 烟雨 于 2011-3-10 15:16 编辑 ]…

查看全部问答>

请问FSMC的驱动能力是多少?

                                 请教下大家FSMC的驱动能力是多少?我目前驱动了SRAM+4个574+6个541,不知道需要加245驱动下吗?…

查看全部问答>

急问

我写的程序大了,超过了449的CODE范围,出现了如下了编译信息,该怎么办呢? Error[Og008]: Code size limit exceeded (4096 code bytes) for this version of the compiler Error while running C/C++ compiler 请各位高手指点一下,多谢…

查看全部问答>