?? usbdemo.c
字號:
#include "..\inc\44b0x.h"
#include "uTypes.h"
#include "sysUtils.h"
#include "console.h"
#include "D12Def.h"
//申明函數
void IoConfig (void);
//我們用這個片編存儲我們的IRQ ISR入口地址
U32 pIrqStart = 0;
U32 pIrqFinish = 0;
U32 pIrqHandler = 0;
int main(void)
{
int i;
sysUtilsSetPllValue (24, 6, 1);
IoConfig ();
console_init (115200);
printf ("\n\nITSN - 44B0 board Test programe version 1.0.\n\n");
//熄滅所有的LED燈
sysUtilsLightLed (LED_ALL, FALSE);
if(UsbRdChipId()==0x1210)
{
puts("Find Pdiusbd12, chip id = 0x1210");
UsbInit();
while(1)
{
i = UsbQueryInt();
UsbIntProc(i);
}
}
return 0;
}
#if 0
int main(void)
//#pragma import(__use_no_semihosting_swi)
{
int i;
ChangePllValue(24, 6, 1); //修改系統主頻為2倍頻
PortInit();
console_init(115200);
puts("System Initialized.\n");
if(UsbRdChipId()==0x1210)
{
printf ("Find Pdiusbd12, chip id = 0x1210.\n");
UsbInit();
while(1)
{
i = UsbQueryInt();
UsbIntProc(i);
}
}
}
#endif
void IoConfig (void)
{
// PORT A GROUP
/* BIT 9 8 7 6 5 4 3 2 1 0 */
/* A24 A23 A22 A21 A20 A19 A18 A17 A16 A0 */
/* 0 1 1 1 1 1 1 1 1 1 */
rPCONA = 0x1ff;
// PORT B GROUP
/* BIT 10 9 8 7 6 5 4 3 2 1 0 */
/* /CS5 /CS4 /CS3 /CS2 /CS1 nWBE3 nWBE2 /SRAS /SCAS SCLK SCKE */
/* EXT NIC 8019 IDE D12 NC NC Sdram Sdram Sdram Sdram */
/* 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1 */
rPDATB = 0x04f;
rPCONB = 0x3cf;
//PORT C GROUP
//BUSWIDTH=16 */
/* PC15 14 13 12 11 10 9 8 */
/* o o RXD1 TXD1 o o o o */
/* NC NC Uart1 Uart1 NC NC NC NC */
/* 01 01 11 11 01 01 01 01 */
/* PC7 6 5 4 3 2 1 0 */
/* o o o o o o o o */
/* NC NC NC NC LED LED LED LED */
/* 01 01 01 01 01 01 01 01 */
rPDATC = 0x0000; //All IO is low
rPCONC = 0x5f555555;
rPUPC = 0x3000; //PULL UP RESISTOR should be enabled to I/O
//PORT D GROUP
/* PORT D GROUP(I/O OR LCD) */
/* BIT7 6 5 4 3 2 1 0 */
/* VF VM VLINE VCLK VD3 VD2 VD1 VD0 */
/* 01 01 01 01 01 01 01 01 */
rPDATD= 0x55;
rPCOND= 0xaaaa;
rPUPD = 0x00;
//These pins must be set only after CPU's internal LCD controller is enable
/////////////////////////////////////////////////////
//PORT E GROUP
/* Bit 8 7 6 5 4 3 2 1 0 */
/* ENDLAN o o TOU2 o o RXD0 TXD0 FOUT */
/* 00 01 01 10 01 01 10 10 11 */
rPDATE = 0x157; //Beep = 10
rPCONE = 0x596b;
rPUPE = 0xff;
//PORT F GROUP
/* Bit8 7 6 5 4 3 2 1 0 */
/* IISCLK IISDI IISDO IISLRCK Input Input Input IICSDA IICSCL */
/* 100 100 100 100 00 00 00 10 10 */
rPDATF = 0x0;
rPCONF = 0x24900a;
rPUPF = 0x1d3;
//PORT G GROUP
/* BIT7 6 5 4 3 2 1 0 */
/* EINT7 EINT6 EINT5 EINT4 EINT3 EINT2 EINT1 EINT0 */
/* KEY3 KEY2 KEY1 KEY0 NIC EXT IDE USB */
/* 11 11 11 11 11 11 11 11 */
rPDATG = 0xff;
rPCONG = 0x0000;
rPUPG = 0x00; //should be enabled
rSPUCR= 0x4;//0x7; //D15-D0 pull-up disable
//rSPUCR= 0x6; //D15-D0 pull-up enable
rSYSCFG = 0x0e; //使用8K字節的指令緩存,write buffer disable
rNCACHBE0 = 0xc0002000; //定義非Cache區,從0x2000000到0xbffffff,中斷時進入ROM,若不允許CACHE不正常???
rEXTINT = 0x0; //所有的外部硬件中斷為低電平觸發
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -