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)
|