#include "include.h" //320x385 60Hz 数据量为14.784MByte const u8 tbl_despi_clk1[] = { [SYS_88M] = 1, //44M [SYS_132M] = 2, //44M [SYS_144M] = 2, //48M #if MODE_4WIRE_8BIT [SYS_176M] = 2, //58M 需要注意屏幕是否支持这么高的速度 #else [SYS_176M] = 3, //44M #endif [SYS_192M] = 3, //48M }; const u8 tbl_despi_clk2[] = { [SYS_88M] = 2, //29.3M [SYS_132M] = 4, //26.4M [SYS_144M] = 4, //28.8M [SYS_176M] = 2,//5, /29.3M [SYS_192M] = 6, //27.4M }; //设置DESPI CLK接口 void sys_set_despi_baud_hook(u32 sys_clk) { sys_cb.despi_baud1 = tbl_despi_clk1[sys_clk]; sys_cb.despi_baud2 = tbl_despi_clk2[sys_clk]; sys_cb.despi_baud = sys_cb.te_mode ? sys_cb.despi_baud1 : sys_cb.despi_baud2; DESPIBAUD = sys_cb.despi_baud; } const uint8_t *bt_rf_get_inq_param(void) { return NULL; } u8 get_chip_package(void) { return 0; } const uint8_t *bt_rf_get_param(void) { return (const uint8_t *)&xcfg_cb.rf_pa_gain; } //正常启动Main函数 int main(void) { u32 rst_reason, rtccon10; rst_reason = LVDCON; rtccon10 = RTCCON10; bsp_sys_init(); printf("Hello AB5680: %08x\n", rst_reason); if (rst_reason & BIT(24)) { printf("SW reset\n"); } else if (rst_reason & BIT(19)) { if (rtccon10 & BIT(10)) { printf("WKO10S reset\n"); clear_allData(); #if USE_APP_TYPE app_platform_init(); #endif // bt_nor_delete_link_info(); /* 心率传感器初始化 */ bsp_sensor_hr_init(); bsp_sensor_hr_stop(); } else { printf("RTC_WDT reset\n"); } } else if (rst_reason & BIT(18)) { printf("WKUP reset\n"); } else if (rst_reason & BIT(17)) { printf("VUSB reset\n"); } else if (rst_reason & BIT(16)) { printf("WDT reset\n"); } func_cb.sta = FUN_POWER_ON_LOGO; if (bsp_charge_sta_get() > 0) { func_cb.sta = FUNC_CHARGE; } func_run(); return 0; } //升级完成 void update_complete(int mode) { printf("update_complete mode = %d\n", mode); bsp_update_init(); if (mode == 0) { WDT_DIS(); while (1) ; } user_data_recovery_clear(); func_cb.sta = FUNC_PWROFF; bsp_sys_init(); clear_allData(); bt_nor_delete_link_info(); #if defined(TJD_SET_PUSH_DIAL_FLAH_TO_BUILT_IN_DIAL_FLASH) sys_cb.ble_dial_updated = 0; param_dial_update_write(); #endif func_run(); }