This commit is contained in:
stark1898y 2025-05-21 13:54:56 +08:00
parent 6e21243b34
commit 1de684d1f7
6 changed files with 47 additions and 52 deletions

View File

@ -197,61 +197,22 @@ int main(void)
BSP_BlockSleep(); BSP_BlockSleep();
BSP_RequestBoost(); BSP_RequestBoost();
DelayMs(10); DelayMs(100);
ShowLed(); ShowLed();
BEEP_ON; BEEP_ON;
DelayMs(500);
DelayMs(500 * 1);
// BSP_BAT_Init();
// tmos_set_event(Peripheral_TaskID, SBP_REPLY_CMD_EVT);
#if 0
// GPIOA_ModeCfg(GPIO_Pin_2, GPIO_ModeIN_Floating);
// TMR3功能引脚映射选择位
// 1TMR3_/PWM3_/CAP3_映射到PA[2]
R16_PIN_ALTERNATE |= (1 << 3);
logDebug("TMR3_CapInit 0");
TMR3_CapInit(FallEdge_To_FallEdge);
// (1 / 62.4MHz) * 2的26次方 = 0.01602564102564102564102564102564 us * 67108864 约等于 1.0754625641025641025641025641025 S
// TMR3_CAPTimeoutCfg(FREQ_SYS ); // 设置捕捉超时时间
TMR3_CAPTimeoutCfg(GetSysClock() / 100); // 设置捕捉超时时间 10ms
// TMR3_CAPTimeoutCfg(0x3FFFFFF); // 设置捕捉超时时间
TMR3_DMACfg(ENABLE, (uint16_t)(uint32_t)&CapBuf[0], (uint16_t)(uint32_t)&CapBuf[20], Mode_Single);
TMR3_ITCfg(ENABLE, TMR0_3_IT_DMA_END); // 开启DMA完成中断
PFIC_EnableIRQ(TMR3_IRQn);
logDebug("TMR3_CapInit");
while(capFlag == 0);
capFlag = 0;
for(uint8_t i = 0; i < 20; i++)
{
logDebug("%08ld ", CapBuf[i] & 0x1ffffff); // 26bit, 最高位表示 高电平还是低电平
uint16_t t = ((CapBuf[i] & 0x1ffffff) * 1.0f) / FREQ_SYS * 1000000;
uint16_t f = 1000000 / t;
logDebug("T = %04d us, f = %04d Hz", t, f);
BSP_UART1_TxLoop();
}
// DelayMs(1000 * 30);
#endif
LED_ALL_OFF_DEINIT; LED_ALL_OFF_DEINIT;
BEEP_OFF_DEINIT; BEEP_OFF_DEINIT;
BSP_NoNeedBoost(); BSP_NoNeedBoost();
BSP_RequestSleep(); BSP_RequestSleep();
IWDG_Init(IWDG_TIMEOUT_MS); IWDG_Init(IWDG_TIMEOUT_MS);
logDebug("123"); logDebug("BSP_Get_Tick1 %d", BSP_Get_Tick());
DelayMs(1000); DelayMs(1000);
logDebug("456"); logDebug("BSP_Get_Tick2 %d", BSP_Get_Tick());
// 在连接间隔和广播间隔到来时,会进入回调中喂狗 // 在连接间隔和广播间隔到来时,会进入回调中喂狗
// LL_AdvertiseEventRegister(BLE_AdvertiseEventCB); // LL_AdvertiseEventRegister(BLE_AdvertiseEventCB);

View File

@ -2,7 +2,7 @@
* @Author : stark1898y 1658608470@qq.com * @Author : stark1898y 1658608470@qq.com
* @Date : 2024-12-15 16:13:37 * @Date : 2024-12-15 16:13:37
* @LastEditors : stark1898y 1658608470@qq.com * @LastEditors : stark1898y 1658608470@qq.com
* @LastEditTime : 2025-05-16 17:31:12 * @LastEditTime : 2025-05-21 13:36:03
* @FilePath : \BLE_TYQ_CH584M\BSP\inc\bsp_iwdg.h * @FilePath : \BLE_TYQ_CH584M\BSP\inc\bsp_iwdg.h
* @Description : * @Description :
* *
@ -22,7 +22,7 @@
#define RB_IWDG_EN 0x80000000 // RO, watch-dog enable #define RB_IWDG_EN 0x80000000 // RO, watch-dog enable
#define IWDG_TIMEOUT_MS (10000) #define IWDG_TIMEOUT_MS (10000)
#define IWDG_FEED_MS (1000) #define IWDG_FEED_MS (3000)
#define IWIG_FEED_EVENT (0x01 << 0) #define IWIG_FEED_EVENT (0x01 << 0)

View File

@ -36,9 +36,9 @@ extern tmosTaskID vavle_task_id;
#define VALVE_LOW_VBAT_ALARM_PERIOD_MS (1600 * 60 * 10) #define VALVE_LOW_VBAT_ALARM_PERIOD_MS (1000 * 60 * 10)
#define VALVE_DECT_PERIOD_MS (1600 * 60 * 10) #define VALVE_DECT_PERIOD_MS (1000 * 60 * 10)
#define CHARGE_TIME_MS (1500) #define CHARGE_TIME_MS (1500)

View File

@ -2,7 +2,7 @@
* @Author : stark1898y 1658608470@qq.com * @Author : stark1898y 1658608470@qq.com
* @Date : 2024-12-15 16:13:41 * @Date : 2024-12-15 16:13:41
* @LastEditors : stark1898y 1658608470@qq.com * @LastEditors : stark1898y 1658608470@qq.com
* @LastEditTime : 2025-05-16 18:35:06 * @LastEditTime : 2025-05-21 13:11:02
* @FilePath : \BLE_TYQ_CH584M\BSP\src\bsp_iwdg.c * @FilePath : \BLE_TYQ_CH584M\BSP\src\bsp_iwdg.c
* @Description : * @Description :
* *
@ -34,11 +34,11 @@ uint16_t IWDG_ProcessEvent(uint8_t task_id, uint16_t events)
// seconds = CH5XX_GetTimeStamp(&tick_1sec); // seconds = CH5XX_GetTimeStamp(&tick_1sec);
// logDebug("seconds = %d.%d", seconds, tick_1sec * 1000 / 32768); // logDebug("seconds = %d.%d", seconds, tick_1sec * 1000 / 32768);
FEED_IWDG(); FEED_IWDG();
logDebug("IWDG feed"); // logDebug("IWDG feed");
// 获取tmos系统堆的剩余内存大小 // 获取tmos系统堆的剩余内存大小
// uint8_t* a = tmos_msg_allocate(1); // uint8_t* a = tmos_msg_allocate(1);
logDebug("tmos_memory_getlen = %d" , tmos_memory_getlen()); logDebug("tmos_memory_getlen = %d" , tmos_memory_getlen());
tmos_start_task(task_id, IWIG_FEED_EVENT, MS1_TO_SYSTEM_TIME(IWDG_FEED_MS)); // tmos_start_task(task_id, IWIG_FEED_EVENT, MS1_TO_SYSTEM_TIME(IWDG_FEED_MS));
return (events ^ IWIG_FEED_EVENT); return (events ^ IWIG_FEED_EVENT);
} }
return 0; return 0;
@ -80,7 +80,7 @@ void IWDG_Init(uint16_t ms)
IWDGTaskId = TMOS_ProcessEventRegister(IWDG_ProcessEvent); IWDGTaskId = TMOS_ProcessEventRegister(IWDG_ProcessEvent);
// tmos_set_event(IWDGTaskId, IWIG_FEED_EVENT); // tmos_set_event(IWDGTaskId, IWIG_FEED_EVENT);
tmos_start_task(IWDGTaskId, IWIG_FEED_EVENT, MS1_TO_SYSTEM_TIME(IWDG_FEED_MS)); tmos_start_reload_task(IWDGTaskId, IWIG_FEED_EVENT, MS1_TO_SYSTEM_TIME(IWDG_FEED_MS));
} }
// #define RB_RESET_FLAG 0x07 // RO: recent reset flag // #define RB_RESET_FLAG 0x07 // RO: recent reset flag

View File

@ -702,3 +702,37 @@ void TMR3_IRQHandler(void) // TMR3 定时中断
cap_flag = 1; cap_flag = 1;
} }
} }
#if 0
// GPIOA_ModeCfg(GPIO_Pin_2, GPIO_ModeIN_Floating);
// TMR3功能引脚映射选择位
// 1TMR3_/PWM3_/CAP3_映射到PA[2]
R16_PIN_ALTERNATE |= (1 << 3);
logDebug("TMR3_CapInit 0");
TMR3_CapInit(FallEdge_To_FallEdge);
// (1 / 62.4MHz) * 2的26次方 = 0.01602564102564102564102564102564 us * 67108864 约等于 1.0754625641025641025641025641025 S
// TMR3_CAPTimeoutCfg(FREQ_SYS ); // 设置捕捉超时时间
TMR3_CAPTimeoutCfg(GetSysClock() / 100); // 设置捕捉超时时间 10ms
// TMR3_CAPTimeoutCfg(0x3FFFFFF); // 设置捕捉超时时间
TMR3_DMACfg(ENABLE, (uint16_t)(uint32_t)&CapBuf[0], (uint16_t)(uint32_t)&CapBuf[20], Mode_Single);
TMR3_ITCfg(ENABLE, TMR0_3_IT_DMA_END); // 开启DMA完成中断
PFIC_EnableIRQ(TMR3_IRQn);
logDebug("TMR3_CapInit");
while(capFlag == 0);
capFlag = 0;
for(uint8_t i = 0; i < 20; i++)
{
logDebug("%08ld ", CapBuf[i] & 0x1ffffff); // 26bit, 最高位表示 高电平还是低电平
uint16_t t = ((CapBuf[i] & 0x1ffffff) * 1.0f) / FREQ_SYS * 1000000;
uint16_t f = 1000000 / t;
logDebug("T = %04d us, f = %04d Hz", t, f);
BSP_UART1_TxLoop();
}
// DelayMs(1000 * 30);
#endif

View File

@ -3,7 +3,7 @@ ENTRY( _start )
MEMORY MEMORY
{ {
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 448K FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 448K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 96K
} }
SECTIONS SECTIONS