大部分功能实现,还差433和屏幕

This commit is contained in:
2021-10-03 18:01:01 +08:00
parent 9c79a675f4
commit 0dbc76aad1
44 changed files with 11531 additions and 4448 deletions
+41 -2
View File
@@ -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]);