- 打卡等级:偶尔看看II
- 打卡总天数:27
- 最近打卡:2025-06-17 16:20:55
已绑定手机
中级会员
- 积分
- 334
|
发表于 2025-3-4 14:22:37
|
显示全部楼层
#include "ai8051u.h"// 调用头文件
#include "stc32_stc8_usb.h"
#include "intrins.h"
#define U8 unsigned char
#define U16 unsigned int
U8 state=0;
U8 Run_stste=0;
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void Delay10ms(void) //@24.000MHz
{
unsigned char data i, j;
i = 234;
j = 115;
do
{
while (--j);
} while (--i);
}
void Timer1_Init(void) //3秒@24.000MHz
{
TM1PS = 0x5B; //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
AUXR &= 0xBF; //定时器时钟12T模式
TMOD &= 0x0F; //设置定时器模式
TL1 = 0x3F; //设置定时初始值
TH1 = 0x01; //设置定时初始值
TF1 = 0; //清除TF1标志
TR1 = 1; //定时器1开始计时
ET1 = 1; //使能定时器1中断
}
void main(void) // 主函数
{
WTST=0;
EAXFR=1;
CKCON=0;
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;
usb_init(); // USB CDC 接口配置
IE2 |= 0x80;
Timer1_Init();
EA = 1;
while (DeviceState != DEVSTATE_CONFIGURED); // 等待USB完成配置
while (1)
{
if (bUsbOutReady)
{
// USB_SendData(UsbOutBuffer,OutNumber);//发送数据缓冲区,长度(接收数据原样返回, 用于测试)
printf("一起来打王者荣耀\r\n");
usb_OUT_done();
}
if(P32==0)
{
Delay10ms();
while(P32==0);
}
}
}
void Timer1_Isr(void) interrupt 3
{
state = !state;
P20=state;
}
Build target 'Target 1'
linking...
*** WARNING L27: INCOMPATIBLE INTERRUPT FRAME SIZE
MODULE: .\新建文件夹\范例程序\查询模式STC-CDC范例程序\stc32g_cdc_query_demo\stc_usb_cdc_32.LIB (usb)
FRAME: 4 BYTES SAVED ON INTERRUPT
Program Size: data=8.3 edata+hdata=424 xdata=192 const=73 code=7688
creating hex file from ".\Objects\LED1"...
".\Objects\LED1" - 0 Error(s), 1 Warning(s).
Build Time Elapsed: 00:00:00
|
|