93 lines
2.7 KiB
C
93 lines
2.7 KiB
C
/*
|
||
* eth_drive.h
|
||
*
|
||
* Created on: 2023年1月5日
|
||
* Author: Administrator
|
||
*/
|
||
|
||
#ifndef USER_INTERFACE_ETHERENT_H_
|
||
#define USER_INTERFACE_ETHERENT_H_
|
||
|
||
#include "wchnet.h"
|
||
#include "debug.h"
|
||
|
||
#define DF_EthInfoWiteTime 1000
|
||
#define DF_SEND_Fail 1
|
||
#define DF_SEND_Success 0
|
||
|
||
#define UDP_RECE_BUF_LEN 1472
|
||
|
||
#define DF_EncryptionEnable 1
|
||
|
||
#define DF_DebugDesIPAdress 10
|
||
#define DF_SugarDesIPAdress 3
|
||
#define DF_DownloadDesIPAdress 183
|
||
|
||
#define DATA_START_ADDR ((uint32_t)0x0803FF00)//0x0803FF00 //最后256用于存放数据0x0803FF00- 0x0803FFFF 256K 注意地址对齐
|
||
#define DATA_Break_ADDR ((uint32_t)0x0803FE00)//0x0803FF10 //修改为另外256字节,因为擦除会擦掉数据
|
||
|
||
#define KEEPALIVE_ENABLE 1 //Enable keep alive function
|
||
|
||
#define FLASH_PAGE_SIZE 256
|
||
|
||
//结构体
|
||
typedef struct {
|
||
volatile uint8_t canBootloaderUpgrade; //CAN升级标志位
|
||
uint8_t test1;
|
||
uint8_t test2;
|
||
uint8_t test3;
|
||
} SystemDataRecord;//这个结构体需与APP同步
|
||
|
||
typedef enum{
|
||
NORMAL_ON = 0,
|
||
CAN_BOOTLOADER_UPGRADE,
|
||
}UpgradeFlag;
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
//外部变量声明
|
||
|
||
extern u8 MACAddr[6];//MAC address
|
||
extern u8 IPAddr[4];//IP address
|
||
extern u8 GWIPAddr[4];//Gateway IP address
|
||
extern u8 IPMask[4];//subnet mask
|
||
extern u16 srcport;//source port
|
||
extern u8 SocketId;
|
||
extern u8 SocketRecvBuf[RECE_BUF_LEN];//socket receive buffer
|
||
extern u8 SocketRecvBuf2[RECE_BUF_LEN];//socket receive buffer
|
||
extern u8 SocketId2;
|
||
extern u8 DesIPAddr[4];//IP address
|
||
extern u16 Desport;
|
||
extern u32 ETHUDPTxLen;
|
||
extern u8 portableOcuTimeOutCnt;
|
||
extern u8 remoteOcuTimeOutCnt;
|
||
extern u8 OwnMasterTimCnt;
|
||
extern u8 OwnMasterOnline;
|
||
extern u8 portableOcuOnline;
|
||
extern u8 remoteOcuOnline;
|
||
|
||
//外部函数声明
|
||
void mStopIfError(u8 iError);
|
||
void WCHNET_UdpServerRecv(struct _SCOK_INF *socinf, u32 ipaddr, u16 port, u8 *buf, u32 len);
|
||
void WCHNET_CreateUdpSocket(void);
|
||
void WCHNET_CreateUdpClientSocket(void);
|
||
void WCHNET_CreateTcpSocket(void);
|
||
void WCHNET_HandleSockInt(u8 socketid, u8 intstat);
|
||
void WCHNET_HandleGlobalInt(void);
|
||
void WCHNET_GetMacAddr( uint8_t *p );
|
||
void WCHNET_TimeIsr( uint16_t timperiod );
|
||
void WCHNET_QueryPhySta(void);
|
||
u8 UdpSendToData(uint8_t socketid, uint8_t *buf, uint32_t *slen, uint8_t *sip, uint16_t port);//发送数据
|
||
void IAP_EEPROM_READ( u32 StartAddr, u8 *Buffer, u32 Length );
|
||
void IAP_EEPROM_WRITE( u32 StartAddr, u8 *Buffer, u32 Length );
|
||
void IAP_EEPROM_ERASE(uint32_t Page_Address, u32 Length);
|
||
|
||
void ethernetInterfaceInit(void);
|
||
|
||
#endif /* USER_INTERFACE_ETHERENT_H_ */
|