zjiot
发表于 2024-10-15 09:04:09
已实现,非常好用
zjiot
发表于 2024-10-16 09:04:48
跟着已经实现了
hande5
发表于 2024-10-29 12:41:55
学习
金南京
发表于 2024-10-30 12:52:40
{:4_174:}
giveyou
发表于 2024-10-30 13:59:50
详细得教程,很好
wlhet
发表于 2024-11-2 08:11:18
谢谢分享
wpppmlah
发表于 2024-11-25 21:58:17
本帖最后由 wpppmlah 于 2024-11-25 22:00 编辑
一个工程中想加入此功能失败了,
工程环境:STC8H8K64U ,30MHZ,使用了stc_usb_cdc_8h_xdata.LIB 库实现的CDC
当KEY(P32)按下时holdkey_time计时变量在定时器中断中进行计时;当到达时间后,使用软件复位 IAP_CONTR = 0x60;//复位到系统区. 结果单片机只是重启后又跑起了代码.
请问这个是什么问题造成的? 单片机没有控制电源断电,电源是直通模式, 这一点不用考虑.
另外,使用STCISP中的"收到用户命令后复位到ISP监控程序区"时也只是单片机重启.
while(!KEY)
{
if(holdkey_time>=20)
{
//有没有这三句,结果一样↓
USBCON = 0x00; //清除USB设置
USBCLK = 0x00;
IRC48MCR = 0x00;
//有没有这三句,结果一样↑
delay_ms(10); //检测到正确的命令序列后复位到系统区,此处的延时可省去
IAP_CONTR = 0x60; //复位到系统区
while (1);
}
}
holdkey_time = 0;