大部分功能实现,还差433和屏幕
This commit is contained in:
+41
-2
@@ -12,14 +12,26 @@
|
||||
#define HC595_SCK2(x) HAL_GPIO_WritePin(HC595_SLK2_GPIO_Port, HC595_SLK2_Pin, x);
|
||||
#define READ_HC595_DCK HAL_GPIO_ReadPin(HC595_DLK_GPIO_Port,HC595_DLK_Pin)
|
||||
|
||||
struct button key1,key2,key3,key4,overload;
|
||||
extern ADC_HandleTypeDef hadc;
|
||||
|
||||
struct button key1,key2,key3,key4,overload;
|
||||
|
||||
const char d_num_data[10]=
|
||||
{
|
||||
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
|
||||
|
||||
};
|
||||
|
||||
#define set_filtering_times 50
|
||||
struct
|
||||
{
|
||||
//ADC_HandleTypeDef *device;
|
||||
int filtering_times;
|
||||
unsigned long adc_filtering[2];
|
||||
int adc_value[2];
|
||||
}ADCC;
|
||||
|
||||
|
||||
struct
|
||||
{
|
||||
char d_num[4];
|
||||
@@ -362,6 +374,27 @@ moto.moto2a_=0;
|
||||
moto.moto2b_=0;
|
||||
while(1)
|
||||
{
|
||||
//*adc读取 并计滤波 并计算温度*/
|
||||
///*获取两个通道*/
|
||||
for(char a=0;a<2;a++)
|
||||
{
|
||||
HAL_ADC_Start(&hadc);
|
||||
while(HAL_ADC_PollForConversion(&hadc,0xffff)!=HAL_OK);
|
||||
ADCC.adc_filtering[a]+=HAL_ADC_GetValue(&hadc); //把读到的值加到滤波缓存
|
||||
}
|
||||
HAL_ADC_Stop(&hadc);
|
||||
///*开始滤波*/
|
||||
ADCC.filtering_times+=1; //每采样加一次记一次
|
||||
if(ADCC.filtering_times==set_filtering_times) //当达到设定的滤波采样次数
|
||||
{
|
||||
ADCC.filtering_times=0;
|
||||
ADCC.adc_value[0]=ADCC.adc_filtering[0]/set_filtering_times; //就除于采样次数
|
||||
ADCC.adc_filtering[0]=0;
|
||||
ADCC.adc_value[1]=ADCC.adc_filtering[1]/set_filtering_times;
|
||||
ADCC.adc_filtering[1]=0;
|
||||
}
|
||||
|
||||
|
||||
switch(mode)
|
||||
{
|
||||
case 0:
|
||||
@@ -606,7 +639,13 @@ moto.moto2b_=0;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if(ADCC.adc_value[0]>600||ADCC.adc_value[1]>600)
|
||||
{
|
||||
GEI_BUTTON_CODE(&overload,1);
|
||||
}else
|
||||
{
|
||||
GEI_BUTTON_CODE(&overload,0);
|
||||
}
|
||||
|
||||
GEI_BUTTON_CODE(&key1,dis_buff.button_flag[0]);
|
||||
GEI_BUTTON_CODE(&key2,dis_buff.button_flag[1]);
|
||||
|
||||
Reference in New Issue
Block a user