基於STM32 ZPH01粉塵感測器使用筆記

2021-09-24 16:15:14 字數 1135 閱讀 5299

第一次發布部落格,有很多不懂.見笑了

zph01 每一秒會傳送一次資料

初次使用的時候建議預熱5分鐘以上.

zph01 每一秒會傳送一次資料 初次使用的時候建議預熱5分鐘以上.

建議拿膠布or遮光的東西遮擋住,硬體上方的三角口這樣可以保持數值的精準(紅外線的也準不到哪去,除非雷射的)

我這裡選擇的是,使用串列埠接收。

引腳的接線

tx(接rx)

rx(接不接都無所謂,在串列埠模式下zph01只發資料,不接受命令)

gnd(當然是接gnd啦)

模式腳(浮空為pmw輸出模式,接gnd為選擇串列埠模式)

注意!!! 串列埠模式下 gnd和模式腳都要 接地 接地 接地

重要事情說三遍

串列埠模式下從機傳送過來的資料模式

我接入的是串列埠2,然後使用串列埠1printf輸出.

沒有使用到串列埠中斷.

.c的

#include "zph01.h"

void zph01_init(void)

u8 buf_cnt;//資料大小

unsigned char buf[9];//用於存放接收到的資料

unsigned char flag[5]=;

void zph01_rend_buf(void)

else}}

.h的

#ifndef _zph01_h

#define _zph01_h

#include "stm32f4xx.h"

#include "io_bit.h"

#include "stdlib.h"

#include "string.h"

#include "delay.h"

#include "stdio.h"

void zph01_init(void);

void zph01_rend_buf(void);//傳送接收到的資料

#endif

第一次發自己的**出來,如果有什麼問題或者更好的解決方法,希望告知,共同進步謝謝大家.

粉塵感測器ZPH01驅動

該驅動使用的是串列埠方式,需要將模式腳拉低,封裝最後輸出的是濃度,單位是ug m3。demo是基於和小夥伴一起封裝的stm32f103c8系列微控制器的底層驅動,編寫語言是c 平台是keil5。該感測器是已經封裝過一次的,他會每間隔1秒通過串列埠傳送一次資料。而我要做的便是使使用者更加簡單的獲取到需...

STM32串列埠接收粉塵感測器資料

本文章主要記錄stm32實現對粉塵感測器的資料採集及簡單處理。主要設計思路 1 串列埠初始化,包括gpio,外設時鐘,nvic等配置 2 串列埠中斷處理函式編寫,即通過接收中斷獲取資料並且儲存到陣列,同時注意判斷相關資料位 3 傳送資料,使用到了printf函式,需要重定向 4 主程式初始化。主要函...

stm32學習筆記01

一 stm32儲存結構 a 架構的理解 這個是stm32儲存器的對映 這個作為參考就好了。補充 can是過濾器 b 位段操作和系統啟動配置,以及iap的理解 c 上位機實驗的簡單介紹,應該用不到 二 電源控制 1 電源 vcc 電路的供電正電壓 vddd 晶元的工作數字正電壓 gnd 電路的供電負電...