📄 auto_self.c
字号:
#include "global.h"
uint ble_r; //红光基线值
uint ble_ir; //红外基线值
uint HH_ir; //红外参考阈值
uchar f_ble=0,f_a=0;
uint f_n=0;
uint dif_ir;
uchar e=0;
uint dd1_ir;
uint np=0,nk=0;
ulong s01_r=0;
ulong s01_ir=0;
ulong S_HH=0;
void auto_self(void) //自动调整,自学习
{
do
{
if(flag==1)
{
avr();
if(f_a==0)
{
adjust8402();
f_a=1;
}
if((ired_avr[0]>2250)&&(ired_avr[0]<3500))
{
if(ired_avr[10]!=0) //差分法
{
if(ired_avr[0]>ired_avr[10])
{
dd1_ir=ired_avr[0]-ired_avr[10];
}
if(ired_avr[0]<ired_avr[10])
{
dd1_ir=0;
}
}
if(f_ble==0)
{
s01_r+=red_avr[0];
s01_ir+=ired_avr[0];
if((dd1_ir!=0)&&(dd1_ir<6000))
{
S_HH+=dd1_ir;
nk++;
}
np++;
if(np==360)
{
ble_r=s01_r/360;
ble_ir=s01_ir/360;
HH_ir=S_HH/nk;
f_ble=1;
np=0;
e=1;
}
}
}
if((ired_avr[0]<2250)||(ired_avr[0]>3500))
f_n++;
if(f_n==60)
{
f_a=0;
f_n=0;
f_ble=0;
np=0;
s01_r=0;
s01_ir=0;
S_HH=0;
nk==0;
}
}
Usart0_TX_BUF[0]=0X80;
Usart0_TX_BUF[1]=0x00;
Usart0_TX_BUF[2]=0x20;
Usart0_TX_BUF[3]=0x00;
Usart0_TX_BUF[4]=0x00;
nTX0_Len=5;
}while(e==0);
fin_flg=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -