📄 mainloop.c
字号:
/*
//*************************************************************************
//
// ZLGMCU
// www.zlgmcu.com
// File Name: MAINLOOP.C
// Revision: V0.2(2002-04-08)
// Use Library: USB51S.LIB
// Note: USB51S.LIB不带DMA控制功能
//*************************************************************************
*/
#include <stdio.h>
#include <string.h>
#include <reg52.h> /* special function register declarations */
#include "mainloop.h"
#include "isr.h"
#include "protozlg.h"
/*
//*************************************************************************
// Public static data
//*************************************************************************
*/
extern EPPFLAGS bEPPflags;
extern unsigned char idata GenEpBuf[];
extern unsigned char idata EpBuf[];
//系统初始化
void SysIni(void)
{
P0 = 0xFF;//初始化I/O口
P1 = 0xFF;
P2 = 0xFF;
P3 = 0xFF;
MCU_D12CS = 0x0;
D12SUSPD = 0;
IT0 = 0;//初始化中断
EX0 = 1;
PX0 = 0;
EA = 1;
MCU_D12CS = 0x1;
MCU_D12CS = 0x0;
D12_SetDMA(0x0);
bEPPflags.value = 0;
reconnect_USB();//联接USB总线
}
//D12中断服务
usb_isr() interrupt 0
{
DISABLE;
fn_usb_isr();//调用D12中断服务子程序
ENABLE;
}
void main(void)
{
static unsigned char c,x[64],*p;
unsigned char i;
SysIni();//调用系统初始化程序
p=x;
for(i=0;i<64;i++)
x[i]=i+11;
/* Main program loop */
while( TRUE )
{
if(bEPPflags.bits.configuration)
{ D12SUSPD = 1;
if(bEPPflags.bits.ep1_rxdone)
{ DISABLE;
bEPPflags.bits.ep1_rxdone=0;
ENABLE;
D12_WriteEndpoint(3,3,p);
}
if(bEPPflags.bits.ep2_rxdone)
{ DISABLE;
bEPPflags.bits.ep2_rxdone=0;
ENABLE;
D12_WriteEndpoint(5,30,p);
}
}
D12SUSPD = 0;
usbserve();//USB服务数据处理
} // Main Loop
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -