按键发送OK

This commit is contained in:
sunbeam 2024-01-24 11:44:44 +08:00
parent f378cc9d72
commit 4801a54a60
7 changed files with 40 additions and 24 deletions

View File

@ -62,7 +62,7 @@ void ADC_GeneralInit(void)
SAR_CTRL_SFRS->ADCCHCTRL0R.WORD |= ((uint32_t)ADC_AFE_GAIN_31_OF_32 << (i*1+20U));
}
SAR_CTRL_SFRS->ADCCHCTRL0R.SARINPUTGAINCH4 = ADC_AFE_GAIN_22_OF_32;
//SAR_CTRL_SFRS->ADCCHCTRL0R.SARINPUTGAINCH4 = ADC_AFE_GAIN_22_OF_32;
SAR_CTRL_SFRS->SARINT.ENABLE.INT_CONV_DONE_ENA = 0;//1:Convert Done Interrupt Enable.
SAR_CTRL_SFRS->SARINT.ENABLE.INT_TRIG_CLASH_ENA = 0;//1:Trigger Clash Interrupt Enable.
@ -84,10 +84,10 @@ void ADC_Init(AdcMeasureItem_t item, uint8_t channel)
// SAR_CTRL_SFRS->SARCFG.PWMAUXTRIGSEL = 4U;// 0x4: Triggered by PWM AUX counter 0 period. 0x8: Triggered by PWM AUX counter 1 period.
// SAR_CTRL_SFRS->SARCFG.TRIGSRC = 8U;//Triggered through hardware, either select from TRIGSRC[2:0] or from PWMAUX_TRIGSEL.TRIGSRC[2:0]=0x0: Triggered by the PWM compare trigger0.
source.selection = ADC_TRIGGER_SEL_PWM_AUX_TRIGSRC;
source.selection = ADC_TRIGGER_SEL_GENERAL_TRIGSRC;
source.channel = ADC_PWMAUX_CHN0;
source.pwmAux = ADC_PWMAUX_TRIG_SRC_PWM_PERIOD0;
source.general = ADC_TRIG_SRC_PWM_CMP0;
source.general = ADC_TRIG_SRC_SOFT_INPUT;
/*
SYSCTRLA_SFRS->CSACTRLR.CSAGAINSEL = 0U;//5 gain
SYSCTRLA_SFRS->CSACTRLR.CSAZEROEN = 0U;

View File

@ -18,6 +18,7 @@
#include <linStackTask.h>
#include "PINdef.h"
#include "hwCtrl.h"
#include "prjconfig.h"
/*static uint8_t ledNum = LED0;*/
static TaskState_t applState = TASK_STATE_INIT;
void ApplTimerExpired(SoftTimer_t *timer);
@ -121,7 +122,7 @@ void KeyScanTimerExpired(SoftTimer_t *timer)
uint8_t keyval,i;
for (i = 0; i < KEY_NUM; i++)
{
keyval = GetKeyState(i);
keyval = GetKeyState(i+1);
if (keyval == 1 && keyflag[i] == 0)
{
keydelay[i]++;
@ -140,6 +141,8 @@ void KeyScanTimerExpired(SoftTimer_t *timer)
}
TxMsgPro();
//ADC_Init(ADC_MEASURE_ITEM_VAMP, 0);
ADC_Start();
}
extern uint16_t g_AdVal[3];
uint8_t fan_state,heat_state;

View File

@ -310,7 +310,7 @@ void UnconditionalPublishedCmdsISR(LIN_Device_Frame_t *const frame)
}else if (frame->frame_id == UnconditionalCmdsTable[FID_KEY_INDEX].frame_id){
/* user defined data report */
for (i = 1U; i < LIN_BUFF_SIZE; i++){
for (i = 0U; i < LIN_BUFF_SIZE; i++){
frame->data[i] = g_txbuf1[i];
}
}else{

View File

@ -87,6 +87,8 @@ static volatile uint16_t measGeneralAdcCode[4];
static uint16_t vAmpbuff[24];
static uint8_t SamplesNum = 0U;
static uint8_t updateSystemInfocnt = 0U;
extern uint16_t g_AdVal[3];
void add_data_to_vampbuff(uint32_t *original, uint16_t newData, uint16_t *bufferIndex,uint16_t *buff)
{
*original = newData;
@ -121,7 +123,8 @@ void measureDoneISR(ADCMeasureParam_t param, uint16_t *const result)
measGeneralAdcCode[2] = (result[2]>=0x800U)? 0U: result[2];
measGeneralAdcCode[3] = (result[3]>=0x800U)? 0U: result[3];
measItem = ADC_GetadcMeasParamm();
g_AdVal[0] = measGeneralAdcCode[3];
g_AdVal[1] = measGeneralAdcCode[2];
adcConvertDone = 1U;
measStart = 1U;
TM_PostTask(TASK_ID_ADC_MEASURE);
@ -190,11 +193,11 @@ int16_t get_chip_temperature(int16_t vTemp)
}
return (int16_t)stemp;
}
extern uint16_t g_AdVal[3];
void updateSystemInfo(void)
{
g_AdVal[0] = measGeneralAdcCode[2];
g_AdVal[1] = measGeneralAdcCode[3];
//g_AdVal[0] = measGeneralAdcCode[2];
//g_AdVal[1] = measGeneralAdcCode[3];
// TM_PostTask(TASK_ID_SAFETY_MONITOR);

View File

@ -31,12 +31,12 @@ void pmu_init(void);
void gpios_init(void)
{
GPIO_Init(IO_KEY3,GPIO_DIR_INPUT,GPIO_PULL_UP);
GPIO_Init(IO_KEY4,GPIO_DIR_INPUT,GPIO_PULL_UP);
GPIO_Init(IO_KEY5,GPIO_DIR_INPUT,GPIO_PULL_UP);
GPIO_Init(IO_KEY6,GPIO_DIR_INPUT,GPIO_PULL_UP);
GPIO_Init(IO_KEY7,GPIO_DIR_INPUT,GPIO_PULL_UP);
GPIO_Init(IO_KEY8,GPIO_DIR_INPUT,GPIO_PULL_UP);
GPIO_Init(IO_KEY3,GPIO_DIR_INPUT,GPIO_PULL_NONE);
GPIO_Init(IO_KEY4,GPIO_DIR_INPUT,GPIO_PULL_NONE);
GPIO_Init(IO_KEY5,GPIO_DIR_INPUT,GPIO_PULL_NONE);
GPIO_Init(IO_KEY6,GPIO_DIR_INPUT,GPIO_PULL_NONE);
GPIO_Init(IO_KEY7,GPIO_DIR_INPUT,GPIO_PULL_NONE);
GPIO_Init(IO_KEY8,GPIO_DIR_INPUT,GPIO_PULL_NONE);
GPIO_Init(IO_LED1,GPIO_DIR_OUTPUT,GPIO_PULL_NONE);
GPIO_Init(IO_LED2,GPIO_DIR_OUTPUT,GPIO_PULL_NONE);
@ -76,7 +76,7 @@ void SYS_Init(void)
/*HWCFG_TrimAccessLockUntilReset();*/
ADC_GeneralInit();
ADC_Init(ADC_MEASURE_ITEM_VAMP, 0);
TIMER_Init(TIMER1, HW_TIMER_PERIODIC_MODE, GTIMER_CLK_DIV_1,1000*16, Timer1_INTTest);//Time1_timing
/* tasks init must be called before use. */

View File

@ -16,7 +16,7 @@ void Output_Ctrl(uint8_t state)
}
#define KEY_AD_TH 30
#define KEY_AD_TH 60
uint8_t isKeyMatchAd(uint16_t val,uint16_t match)
{
if ( val >= (match - KEY_AD_TH) && val <= (match + KEY_AD_TH))
@ -26,14 +26,14 @@ uint8_t isKeyMatchAd(uint16_t val,uint16_t match)
return 0;
}
#define KEY_AD_V0 30
#define KEY_AD_V1 254
#define KEY_AD_V2 455
#define KEY_AD_V3 658
#define KEY_AD_V4 896
#define KEY_AD_V0 60
#define KEY_AD_V1 492
#define KEY_AD_V2 882
#define KEY_AD_V3 1277
#define KEY_AD_V4 1733
#define KEY_AD_V5 511
#define KEY_AD_V6 696
#define KEY_AD_V5 992
#define KEY_AD_V6 1350
uint16_t g_AdVal[3];

View File

@ -0,0 +1,10 @@
#ifndef __PRJCONFIG_H__
#define __PRJCONFIG_H__
#define LEFT_BOARD 1
#define RIGHT_BOARD 2
#define BOARDCFG LEFT_BOARD
#endif