ARM技术论坛
直播中

孙浩

6年用户 18经验值
私信 关注
[问答]

求助帖!!!ZPH01驱动

各位大佬,有驱动过ZPH01传感器的么?我用PWM驱动为什么不对呀,大佬们帮忙看一下代码啊,我是直接读取RXD口高电平的时间,再计算PM2.5的,难道这种思路不正确么?代码如下:
  1. #include "msp.h"
  2. #include "driverlib.h"
  3. #include "config.h"
  4. #include "zph01.h"

  5. uint16_t tim = 0;

  6. /**
  7. * main.c
  8. */
  9. void main(void)
  10. {
  11.     uint16_t r, flag;
  12.     WDT_A_holdTimer();                // stop watchdog timer

  13.     MAP_CS_initClockSignal(CS_MCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1 );
  14.     MAP_SysTick_enableModule();
  15.     MAP_SysTick_setPeriod(3000);//1ms 计时一次
  16.     MAP_Interrupt_enableSleepOnIsrExit();
  17.     MAP_Interrupt_enableMaster();

  18.     MAP_GPIO_setAsInputPin(GPIO_PORT_P2,GPIO_PIN5);

  19.     {
  20.         if(MAP_GPIO_getInputPinValue(GPIO_PORT_P2,GPIO_PIN5) == 1 )
  21.         {
  22.             MAP_SysTick_enableInterrupt();
  23.             while(P2IN & BIT5 ){}
  24.             MAP_SysTick_disableInterrupt();
  25.             flag = 1;
  26.         }

  27.         if(flag == 1)
  28.         {
  29.             r = (1000-tim)/tim * 1000;
  30.             flag = 0;tim = 0;
  31.         }
  32.     }
  33. }

  34. void SysTick_Handler(void)
  35. {//1ms
  36.     tim = tim + 1;
  37. }


更多回帖

发帖
×
20
完善资料,
赚取积分