AI8051U使用USB自动下载不成功
使用USB自动下载,AI8051U单片机无法复位到系统ISP运行。#include "delay1ms.h"
#include "ai8051u.h"
#include "stc32_stc8_usb.h"
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void main(void)
{
unsigned char x1 = 0;
P_SW2 |= 0x80; // B7位写1,使能访问XFR
P0M1 = 0x00;
P0M0 = 0x00;
P1M0 = 0xff;
P1M1 = 0xff;
P2M1 = 0x00;
P2M0 = 0x00;
P2 = 0x00;
P3M1 = 0x00;
P3M0 = 0x00;
P4M1 = 0x00;
P4M0 = 0x00;
P5M1 = 0x00;
P5M0 = 0x00;
P6M1 = 0x00;
P6M0 = 0x00;
P7M1 = 0x00;
P7M0 = 0x00;
usb_init(); // USB CDC 接口配置
IE2 |= EUSB; // 使能USB中断
EA = 1; // IE |= 0X80;
while (1)
{
}
} 你需要先按P32再上电,使用usb不停电下载过一次后才行 jwd 发表于 2026-4-19 10:42
你需要先按P32再上电,使用usb不停电下载过一次后才行
我已经下载过程序到单片机了,使用不停电下载不行,还试图通过手动到系统ISP,还是不行,不能复位到系统ISP中
USBCON = 0x00;
USBCLK = 0x00;
IRC48MCR = 0x00;
Delay1ms(20);
IAP_CONTR = 0x60;
8051U的ISP功能不受USB下载影响吧 直接使用usb库例程测试,先拿免费领的擎天柱核心板试:
https://www.stcaimcu.com/data/download/Library/STC_USB_LIBRARY.zip
ercircle 发表于 2026-4-19 20:58
直接使用usb库例程测试,先拿免费领的擎天柱核心板试:
秦天柱核心板是能软复位到系统ISP的,你给的代码还是不行,后面我自己解决了,用下面的代码模拟USB断开,就可以复位到系统ISP
P3M0 |= 0x03;
P3M1 |= 0x03;
P30 = 0;
P31 = 0;
IAP_CONTR = 0x60; xiao223 发表于 2026-4-20 10:38
秦天柱核心板是能软复位到系统ISP的,你给的代码还是不行,后面我自己解决了,用下面的代码模拟USB断开, ...
是自己打的板子需要上面这段代码?
可以发下电路图pdf文件吗
这是我的电路图 检查你的ISP下载软件内 是否勾上了 《每次下载前都先发送自定义命令》 yueguang3048 发表于 2026-4-24 15:30
检查你的ISP下载软件内 是否勾上了 《每次下载前都先发送自定义命令》
该排查的都排查了,特意将char *USER_STCISPCMD = NULL;改掉了,现在只能以这种方式实现不停电下载,实际上不做任何修改,单片机是能复位的,但是就是不进系统ISP
if (bUsbOutReady)
{
if (strncmp(UsbOutBuffer, "@STCISP#", 8) == 0)
{
P3M0 |= 0x03;
P3M1 |= 0x03;
P30 = 0;
P31 = 0;
IAP_CONTR = 0x60;
}
usb_OUT_done();
}
页:
[1]
2