⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 基于lpc2103和ENC28J60的网卡驱动
💻 C
字号:
/*****************************************************/
/* EasyLPC2103 Study Broad + ENC28J60 Module						*/
/* http://www.OurEDA.cn														*/
/*****************************************************/
/* EasyLPC2103 broad		<<-->>		ENC28J60 Module			*/
/*			P0.9												RST						*/
/*			P0.7												CS						*/
/*			P0.6												SI							*/
/*			P0.5												SO						*/
/*			P0.4												SCK						*/
/*			VCC												+3V						*/
/*			GND												GND						*/
/*****************************************************/
/* 这是OurEDA.CN之ENC28J60以太网模块的随板演示程序		*/
/* 配套与EasyLCP2103开发板共同使用, 连线方式如上图		*/
/* ENC28J60的工作电压为3V, 正常工作其芯片发热量较大		*/
/* 程序中的printf()是输出调试信息, 实际不起任何作用			*/
/*****************************************************/
/* 整体程序遵循GPL协议, 仅作为开发板附属学习品之用		*/
/*****************************************************/

#include <stdio.h>
#include <LPC2103.H>

#define	LED_R					(1<<19)					/* P0.19连接红色LED */
#define LED_R_ON				IOCLR |= LED_R		/* 红色LED点亮			*/
#define LED_R_OFF			IOSET |= LED_R			/* 红色LED熄灭			*/
#define CMD_LED_R_ON		1								/* cmd:红色LED点亮	*/
#define CMD_LED_R_OFF	2								/* cmd:红色LED熄灭	*/

#define	LED_G					(1<<20)					/* P0.20连接绿色LED */
#define LED_G_ON				IOCLR |= LED_G		/* 绿色LED点亮			*/
#define LED_G_OFF			IOSET |= LED_G		/* 绿色LED熄灭			*/
#define CMD_LED_G_ON	3								/* cmd:绿色LED点亮	*/
#define CMD_LED_G_OFF	4								/* cmd:绿色LED熄灭	*/


#define CS		(1<<7)										/* ENC28J60的片选 */
#define RST		(1<<9)										/* ENC28J60的复位 */

void SPI_Init(void) {
	unsigned char dummy;

	PINSEL0 |= 0x1500;
	IODIR |= CS;
	S0SPCCR = 0x08;
	S0SPCR = 0x20;

    dummy = S0SPSR;
}


do_spi(unsigned char dat) {
	S0SPDR = dat;
	while(0==(S0SPSR&0x80));
	return(S0SPDR);
}
	
int main(void) {
	unsigned int i;

	IODIR |= LED_R;
	IODIR |= LED_G;
	
	IODIR |= RST;
	IOCLR |= RST;
	while(i<250) i++;						/* ENC28J60复位 */
	IOSET |= RST;
	for(i=0;i<50000;i++);				/* 等待复位结束 */
	
	SPI_Init();
	printf("Ready!");							/* 输出调试信息 */
	
	simple_server();						/* 启动HttpServer */
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -