资源简介
基于红龙103开发板下的lwip协议栈搭建的ftp服务器
代码片段和文件信息
/*
* File : dm9000a.c
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2009 RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE
*
* Change Logs:
* Date Author Notes
* 2009-07-01 Bernard the first version
*/
#include
#include “dm9000a.h“
#include
#include “lwipopts.h“
#include “stm32f10x.h“
#include “stm32f10x_fsmc.h“
// #define DM9000_DEBUG 1
#if ( DM9000_DEBUG == 1 )
#define DM9000_TRACE rt_kprintf
#else
#define DM9000_TRACE(...)
#endif
/*
* DM9000 interrupt line is connected to PE4
*/
//--------------------------------------------------------
#define DM9000_PHY 0x40 /* PHY address 0x01 */
#define RST_1() GPIO_SetBits(GPIOFGPIO_Pin_10)
#define RST_0() GPIO_ResetBits(GPIOFGPIO_Pin_10)
#define MAX_ADDR_LEN 6
enum DM9000_PHY_mode
{
DM9000_10MHD = 0 DM9000_100MHD = 1
DM9000_10MFD = 4 DM9000_100MFD = 5
DM9000_AUTO = 8 DM9000_1M_HPNA = 0x10
};
enum DM9000_TYPE
{
TYPE_DM9000E
TYPE_DM9000A
TYPE_DM9000B
};
struct rt_dm9000_eth
{
/* inherit from ethernet device */
struct eth_device parent;
enum DM9000_TYPE type;
enum DM9000_PHY_mode mode;
rt_uint8_t imr_all;
rt_uint8_t packet_cnt; /* packet I or II */
rt_uint16_t queue_packet_len; /* queued packet (packet II) */
/* interface address info. */
rt_uint8_t dev_addr[MAX_ADDR_LEN]; /* hw address */
};
static struct rt_dm9000_eth dm9000_device;
static struct rt_semaphore sem_ack sem_lock;
void rt_dm9000_isr(void);
static void delay_ms(rt_uint32_t ms)
{
rt_uint32_t len;
for (; ms > 0; ms --)
for (len = 0; len < 100; len++ );
}
/* Read a byte from I/O port */
rt_inline rt_uint8_t dm9000_io_read(rt_uint16_t reg)
{
DM9000_IO = reg;
return (rt_uint8_t) DM9000_DATA;
}
/* Write a byte to I/O port */
rt_inline void dm9000_io_write(rt_uint16_t reg rt_uint16_t value)
{
DM9000_IO = reg;
DM9000_DATA = value;
}
/* Read a word from phyxcer */
rt_inline rt_uint16_t phy_read(rt_uint16_t reg)
{
rt_uint16_t val;
/* Fill the phyxcer register into REG_0C */
dm9000_io_write(DM9000_EPAR DM9000_PHY | reg);
dm9000_io_write(DM9000_EPCR 0xc); /* Issue phyxcer read command */
delay_ms(100); /* Wait read complete */
dm9000_io_write(DM9000_EPCR 0x0); /* Clear phyxcer read command */
val = (dm9000_io_read(DM9000_EPDRH) << 8) | dm9000_io_read(DM9000_EPDRL);
return val;
}
/* Write a word to phyxcer */
rt_inline void phy_write(rt_uint16_t reg rt_uint16_t value)
{
/* Fill the phyxcer register into REG_0C */
dm9000_io_write(DM9000_EPAR DM9000_PHY | reg);
/* Fill the written data in
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 25445 2012-09-12 16:42 网络专题之ftp服务器\drivers\external\dm9000a.c
文件 4883 2012-09-12 16:44 网络专题之ftp服务器\drivers\external\dm9000a.h
文件 99139 2012-09-12 11:24 网络专题之ftp服务器\drivers\external\sdcard.c
文件 15674 2012-09-12 11:24 网络专题之ftp服务器\drivers\external\sdcard.h
文件 9858 2012-09-12 11:24 网络专题之ftp服务器\drivers\peripheral\serial.c
文件 1774 2012-09-12 11:24 网络专题之ftp服务器\drivers\peripheral\serial.h
文件 9408 2013-12-04 11:44 网络专题之ftp服务器\drivers\peripheral\usart.c
文件 529 2012-09-12 11:24 网络专题之ftp服务器\drivers\peripheral\usart.h
文件 1209 2012-09-12 11:24 网络专题之ftp服务器\drivers\SConsc
文件 14576 2012-09-12 11:24 网络专题之ftp服务器\drivers\spi\rt_stm32f10x_spi.c
文件 741 2012-09-12 11:24 网络专题之ftp服务器\drivers\spi\rt_stm32f10x_spi.h
文件 15805 2012-09-12 11:24 网络专题之ftp服务器\drivers\spi_flash\spi_flash_at45dbxx.c
文件 456 2012-09-12 11:24 网络专题之ftp服务器\drivers\spi_flash\spi_flash_at45dbxx.h
文件 11320 2012-09-12 11:24 网络专题之ftp服务器\drivers\spi_flash\spi_flash_sst25vfxx.c
文件 898 2012-09-12 11:24 网络专题之ftp服务器\drivers\spi_flash\spi_flash_sst25vfxx.h
文件 212 2013-12-05 16:08 网络专题之ftp服务器\fs\hello.html
文件 5401 2011-06-10 15:09 网络专题之ftp服务器\fsdata\fs.c
文件 3751 2011-06-10 15:09 网络专题之ftp服务器\fsdata\fs.h
文件 2394 2013-12-05 16:08 网络专题之ftp服务器\fsdata\fsdata.c
文件 2060 2011-06-10 15:09 网络专题之ftp服务器\fsdata\fsdata.h
文件 200797 2011-06-10 15:09 网络专题之ftp服务器\makefsdata.exe
文件 18985 2013-12-05 15:10 网络专题之ftp服务器\Project\context_rvds.lst
文件 331285 2013-12-06 16:40 网络专题之ftp服务器\Project\Jli
文件 578 2013-12-02 14:46 网络专题之ftp服务器\Project\Jli
文件 95084 2013-12-06 14:26 网络专题之ftp服务器\Project\obj\api_lib.crf
文件 2775 2013-12-06 14:26 网络专题之ftp服务器\Project\obj\api_lib.d
文件 96948 2013-12-06 14:26 网络专题之ftp服务器\Project\obj\api_lib.o
文件 1008 2013-12-06 14:26 网络专题之ftp服务器\Project\obj\api_lib.__i
文件 102821 2013-12-06 14:26 网络专题之ftp服务器\Project\obj\api_msg.crf
文件 2849 2013-12-06 14:26 网络专题之ftp服务器\Project\obj\api_msg.d
............此处省略1147个文件信息
相关资源
- STM32_MPU6050_dmp
- 使用stm32F4的usb驱动4G模块
- ST公司器件的AD库
- 基于STM32的飞控程序
- STM32F1输入捕获测频率
- STM32 中文手册 Datasheet
- STM32+ESP8266实现物联网
- 基于stm32的USB_hid_游戏手柄设备程序
- stm32利用蒙特卡罗法测量占空比
- STM32F103驱动TSL1401线性CCD模块.rar
- stm32f103 例程代码
- 基于OpenMV与STM32的寻球小车.7z
- 基于Stm32的嵌入式WebServer例程
- STM32-CC1101无线收发已调通 (1).zip
- LWIP之TCP Client
- 基于STM32的无限点餐系统
- 微雪电子扫码模块stm32测试程序
- ROS机器人STM32地盘程序
- STM32使用OV2640摄像头,通过按键发送一
- STM32L151实测可用ADC,使用标准库完成
- STM32+3G4G.rar
- stm32f4 全部资源
- 电赛必备 fdc2214所有资料
- STM32F413ZH 7路串口收发 +IIC +freertos+步
- STM32F1开发指南(精英版)-寄存器版本
- USB_HID_IAP上位机.rar
- HT-001 RN8209电表套件(STM32不带电能)
- STM32与迪文屏通信例程.zip
- STM32CubeProgrammerFlashAlgorithm.rar
- 乐涛3D16光立方DIY全套资料包20171112版
评论
共有 条评论