STM32用于傳感器監測程序
單片機源程序如下:
- #include "bsp_init.h"
- /*
- 顯示說明:
- 1.先刷背景再刷數據
- 2.全部刷屏再顯示LCD_Show_Init();
- 3.部分刷屏顯示 UpdatePartWindow(102,102+8*6,40,240); //部分背景窗口更新函數
- 其他說明:
- // 1.因MODBUS數據在定時器中回復,并關閉了中斷,從而導致在快速讀寫485時Timer5的CO2輸入捕獲不準
- 優先級 :
- 串口1———3-2
- 串口2———3-3
-
- 定時器3——2-3
- 定時器5——1-0
- WWDG_
- */
- u8 SYS_grade=1;
- u16 TPAD_flag=0,Work_time=0;
- u8 bb[]={0x01,0x03,0x00};
- int main(void)
- {
- u16 main_t=0; //程序運行計數
- u16 tspnum=0;
- delay_init();
- Bsp_Init(); //板集資源初始化
- IWDG_Init(4,1200); //4對應的分頻數為64,重載值為625,溢出時間為1s 40k/64=625
- while(1)
- {
-
- if(main_t%10==0)
- {
- tspnum++;
- //Read_AD_O2(); //1 數據采集并寫入寄存器
- //Read_ADC_VOC(); //1 風向采樣
- //Read_ADC_MQ2(); //1 風速采樣
- Read_ADC_FX(); //40004
- Read_ADC_FS();
- Read_IIC_Temp();//1
- Read_IIC_RH(); //1
- // Read_IIC_HCHO();//1
- // Read_IIC_CO(); //1
- // Read_CO2(); //1
- Read_PM25(); //1
- Read_PM10(); //1
- // Read_TSP(); //粉塵濃度 1號寄存器
- Read_Noise();
- }
-
- if(tspnum>=300)
- {
- tspnum=0;
- Read_TSP();
-
-
- }
- if(main_t%20==0)
- {
- IWDG_Feed();//喂狗 1s
- }
- if(main_t%100==0)
- {
- LED1=!LED1;//LED0閃爍,提示程序正在運行.
- // UART4_senddata(bb,3);
-
- }
- if(main_t%200==0)
- {
- UART5_senddata(bb,3);
- // USART3_senddata(bb,3);
- //MODBUS_GPRS();
- }
- if(main_t>=3000)main_t=0;
- main_t++;
- delay_ms(10);
- }
- }
復制代碼
所有資料51hei提供下載:
STM32程序.7z
(716.95 KB, 下載次數: 11)
2019-12-11 01:42 上傳
點擊文件名下載附件
STM32 下載積分: 黑幣 -5
|