diff --git a/.cproject b/.cproject index 1d8bdae..b0ade34 100644 --- a/.cproject +++ b/.cproject @@ -166,5 +166,5 @@ - + diff --git a/.vscode/settings.json b/.vscode/settings.json index 7f439ef..9b92e34 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,6 +2,9 @@ "files.associations": { "ch58x_common.h": "c", "bsp_wf5803.h": "c", - "config.h": "c" + "config.h": "c", + "math.h": "c", + "hal.h": "c", + "common_porting.h": "c" } } diff --git a/APP/bsp_wf5803.c b/APP/bsp_wf5803.c index 26ba86f..11bf2be 100644 --- a/APP/bsp_wf5803.c +++ b/APP/bsp_wf5803.c @@ -100,6 +100,10 @@ void PRESS_IO_SPI_Init(void) // SDA: MOSI // SDO: MISO + // CSB1: PA3 + // GPIOA_SetBits(GPIO_Pin_3); + // GPIOA_ModeCfg(GPIO_Pin_3, GPIO_ModeOut_PP_5mA); + // CSB2: PB9 GPIOB_SetBits(GPIO_Pin_9); GPIOB_ModeCfg(GPIO_Pin_9, GPIO_ModeOut_PP_5mA); @@ -116,7 +120,7 @@ void PRESS_IO_SPI_Init(void) PRESS_SPI_CsStop(kPressOut); PRESS_SPI_CsStop(kPressAtom); - // spi初始化,模式0 + // spiʼģʽ0 GPIOA_ModeCfg(GPIO_Pin_13 | GPIO_Pin_14, GPIO_ModeOut_PP_5mA); GPIOA_ModeCfg(GPIO_Pin_15, GPIO_ModeIN_PU); @@ -126,18 +130,25 @@ void PRESS_IO_SPI_Init(void) void WF5803_Init(void) { PRESS_IO_SPI_Init(); - WF5803_WriteReg(0x00, 0x81, kPressIn); // 配置spi为四线模式 - WF5803_WriteReg(0x00, 0x81, kPressOut); // 配置spi为四线模式 - WF5803_WriteReg(0x00, 0x81, kPressAtom); // 配置spi为四线模式 + WF5803_WriteReg(0x00, 0x81, kPressIn); // spiΪģʽ + WF5803_WriteReg(0x00, 0x81, kPressOut); // spiΪģʽ + WF5803_WriteReg(0x00, 0x81, kPressAtom); // spiΪģʽ } void PRESS_LowerIO_Init(void) { - // WF5803默认供电时,其他IO都是高电平 + // WF5803ĬϹʱIOǸߵƽ // SPI GPIOA_SetBits(GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15); GPIOA_ModeCfg(GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15, GPIO_ModeIN_PU); + // CSB1: PA3 + // GPIOA_SetBits(GPIO_Pin_3); + // GPIOA_ModeCfg(GPIO_Pin_3, GPIO_ModeIN_PU); + // CSB1: PA3 + // GPIOA_SetBits(GPIO_Pin_3); + // GPIOA_ModeCfg(GPIO_Pin_3, GPIO_ModeOut_PP_5mA); + // CSB2: PB9 GPIOB_SetBits(GPIO_Pin_9); GPIOB_ModeCfg(GPIO_Pin_9, GPIO_ModeIN_PU); @@ -161,6 +172,10 @@ void Lower_IO_Deinit(void) GPIOA_ResetBits(GPIO_Pin_7); GPIOA_ModeCfg(GPIO_Pin_7, GPIO_ModeIN_PU); + // RESET KEY + GPIOB_ResetBits(GPIO_Pin_7); + GPIOB_ModeCfg(GPIO_Pin_7, GPIO_ModeIN_PU); + // motor GPIOB_ResetBits(GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2); GPIOB_ModeCfg(GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2, GPIO_ModeIN_PD); @@ -189,8 +204,8 @@ uint8_t GetSensorData(TePressSensorIndex index) PRINT("Status = %02x\r\n", WF5803_ReadReg(0x02, index)); - // 气压数据 - // 温度数据 + // ѹ + // ¶ for (uint8_t i = 0; i < 5; i++) { press_raw_data[index][i] = WF5803_ReadReg(0x06 + i, index); @@ -222,7 +237,7 @@ void SensorData_Process(TePressSensorIndex index) fDat = reading / 8388608.0f; } - press = fDat * 125 + 17.5; // WF5803_1BAR 如果是使用10m级别的深传就使用这个 + press = fDat * 125 + 17.5; // WF5803_1BAR ʹ10mʹ reading = press_raw_data[index][3]; reading = reading << 8; diff --git a/APP/peripheral.c b/APP/peripheral.c index c04280a..75ebacf 100644 --- a/APP/peripheral.c +++ b/APP/peripheral.c @@ -47,16 +47,16 @@ #define DEFAULT_DISCOVERABLE_MODE GAP_ADTYPE_FLAGS_GENERAL // Minimum connection interval (units of 1.25ms, 6=7.5ms) -#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 6 +#define DEFAULT_DESIRED_MIN_CONN_INTERVAL (100) // Maximum connection interval (units of 1.25ms, 100=125ms) -#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 100 +#define DEFAULT_DESIRED_MAX_CONN_INTERVAL (400) // Slave latency to use parameter update -#define DEFAULT_DESIRED_SLAVE_LATENCY 0 +#define DEFAULT_DESIRED_SLAVE_LATENCY 5 // Supervision timeout value (units of 10ms, 100=1s) -#define DEFAULT_DESIRED_CONN_TIMEOUT 100 +#define DEFAULT_DESIRED_CONN_TIMEOUT 200 // Company Identifier: WCH #define WCH_COMPANY_ID 0x07D7