📄 main.c
字号:
#include "cpu_reg.h"
#include "string.h"
#include "ip.h"
Uint16 FrameLenth;
Uint16 RxSuccessFlag;
int ms,ms1;
//-------------------
Uint16 TxEthnetFrameBuffer[1518/2];
Uint16 RxEthnetFrameBuffer[1518/2];
//-------------------
extern struct ipaddr server_ipaddr;
Uint16 Temp;
extern Uint16 TCPTimeout;
void main()
{
// Uint16 Temp;
asm(" STM #0000h,CLKMD ");
while(*CLKMD & 0x01 );
asm(" STM #30C7h,CLKMD "); //设置CPU运行频率=100M
/* 40C7h:5*clkin =100M
30c7h:4*clkin =80M
20c7h:3*clkin =60M
10C7h:2*clkin =40M
*/
*SWCR = 0x0001;
asm(" stm #7240h, SWWSR ");
//2 wait except for on-chip program 1
asm(" stm #00A0h, PMST "); //MP/MC = 0, IPTR = 001,ovly=1
asm(" stm #0802h, BSCR ");
asm(" STM #0h, IMR ");
asm(" STM #0010h,TCR "); //关定时器
asm(" STM #0186ah,PRD ");//1ms
asm(" STM #0C2fh,TCR "); //TCR=最后四位
asm(" STM #0008h,IFR ");
asm(" ORM #0009h,*(IMR) ");/*开时间中断*/
asm(" RSBX INTM "); /*开中断*/
Init8019();
TCP_Init();
ms = 0;
ms1 = 0;
TCPTimeout = 0;
while(ms<2000);
// ArpRequest();
while(1)
{
if(TCPTimeout)
Process_TCP_Timeout();
RTL8019ActiveOpen();
Temp=RecFrame();
if (Temp)
DoNetworkStuff();
}
}
interrupt void timer0()
{
ms++;
ms1++;
if (ms1>2000)
{
TCPTimeout = 1;
ms1 =0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -