xiangzichen
发表于 2024-5-14 03:41:47
失眠了,唉,楼主问题解决没?
天宁宁
发表于 2024-5-14 05:32:46
芯片型号 定时器波特率发生器引脚配置 啥也不说 以为全是半仙啊
jwd
发表于 2024-5-15 09:13:48
xiangzichen 发表于 2024-5-14 03:41
失眠了,唉,楼主问题解决没?
木有呢,我现在用屠龙刀的板子也出现这种问题
jwd
发表于 2024-5-15 09:17:27
本帖最后由 jwd 于 2024-5-15 09:21 编辑
#include "stc32g.h"
#include "stc32_stc8_usb.h"
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void Delay1000ms(void) //@11.0592MHz
{
unsigned long edata i;
_nop_();
_nop_();
i = 2764798UL;
while (i) i--;
}
void main()
{
P_SW2 |= 0x80;
P0M1 = 0x00; P0M0 = 0x00;
P1M1 = 0x00; P1M0 = 0x00;
P2M1 = 0x00; P2M0 = 0x00;
P3M1 = 0x00; P3M0 = 0x00;
P4M1 = 0x00; P4M0 = 0x00;
P5M1 = 0x00; P5M0 = 0x00;
P6M1 = 0x00; P6M0 = 0x00;
P7M1 = 0x00; P7M0 = 0x00;
P3M0 &= ~0x03;
P3M1 |= 0x03;
IRC48MCR = 0x80;
while (!(IRC48MCR & 0x01));
USBCLK = 0x00;
USBCON = 0x90;
usb_init(); //USB CDC 接口配置
IE2 |= 0x80; //使能USB中断
EA = 1;
while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
while(1)
{
Delay1000ms();
P27=!P27;
}
// while (1);
}
/************************************************
函数功能:USB-CDC串口接收数据的回调函数
函数描述:回调函数由USB中断在接收到串口数据时自动调用
回调函数处理完成串口数据后需要返回1
函数返回:返回1:USB中断服务程序自动完成后续的收尾工作
返回0:USB会暂停接收串口数据,直到用户自行调用
usb_OUT_done()函数后USB才会重新恢复接收数据
注意事项:当函数返回1时用户无需调用usb_OUT_done()
只有返回0时才需要调用usb_OUT_done()进行手动收尾
强烈建议usb_OUT_callback返回1
************************************************/
BOOL usb_OUT_callback()
{
USB_SendData(UsbOutBuffer,OutNumber); //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
return 1;
}
各位大佬,我现在用屠龙刀也出现这种问题,我用usb下载,下载完成后在电脑的usb口好用,插在充电头上就不好用
jwd
发表于 2024-5-15 09:18:11
现在就只是闪烁1个灯
jwd
发表于 2024-5-15 09:20:20
电源电压5V
jwd
发表于 2024-5-15 15:20:36
有没有哪位大佬手里有屠龙刀也请试试看看是否也有这种现象?
晓飛飛
发表于 2024-5-15 17:18:39
我猜大概率是使用了非常垃圾的杜邦线,而且多种电源之间没有提前供地造成的短暂性闩锁。
jwd
发表于 2024-5-15 20:11:13
晓飛飛 发表于 2024-5-15 17:18
我猜大概率是使用了非常垃圾的杜邦线,而且多种电源之间没有提前供地造成的短暂性闩锁。 ...
不是,我现在用type c连接屠龙刀也这样
jwd
发表于 2024-5-15 21:07:28
在梁工的帮助下,问题得到了解决:P32上电时需要保持高电平,不然不能进入运行模式