- 打卡等级:初来乍到
- 打卡总天数:6
- 最近打卡:2025-08-10 08:58:30
中级会员
- 积分
- 219
|
下面是程序。延迟和usb_init都是我后加的。症状就是eeprom写入后USBcdc发不出去数据。并且串口也坏了。从PCB发数据给他会提示超时。必须重启MCU才行。
EEPROM_SectorErase(EEPROM_CONFIG_START_ADDR);
EEPROM_write_n(EEPROM_CONFIG_START_ADDR, (u8*)new_settings, sizeof(new_settings));
// 更新当前运行的配置
for(i=0; i<NUM_CHANNELS; i++)
{
g_channel_settings = new_settings;
}
// ====================================================================
// *** 此处已修正 ***
// ====================================================================
// 在发送响应前增加一个短暂延时,以确保USB外设稳定
delay_ms(200);
// ====================================================================
usb_init();
// 发送成功应答
Send_Write_Response(STATUS_SUCCESS);
|
|