Đầu tiên là mở file “packet.h”, thêm mô tả TCP header vào: Code:

Một phần của tài liệu ATMEGA32 GIAO TIẾP VỚI ENC28J60 QUA SPI – AVR WEBSERVER (Trang 74 - 75)

- Đầu tiên ta cộng các từ 16 bit trong header: Code:

Đầu tiên là mở file “packet.h”, thêm mô tả TCP header vào: Code:

hợp với mục đích của mình, tự xây dựng project của mình, không khuyến khích "download and build" Mọi người thông cảm nhé, vì máu giáo viên mà . Với lại tôi từng gặp rất nhiều bạn download mạch và source code trên mạng về làm, không hiểu tí gì về mạch cũng như source, nhưng cứ bảo là mình làm được.

Nếu ai thực sự gặp khó khăn và không thể tự build code được, cứ liên hệ trực tiếp, tôi sẵng sàng giúp. Còn 4 giao thức nữa: TCP, UDP, HTTP, và DHCP là ta có thể hoàn thành project nàỵ Dạo này công việc ngập đầu, chưa có thời gian viết tiếp tut, mọi người thông cảm nhé. Vì phải giải thích code và giao thức nên cũng mất nhiều thời gian.

À quên khi khai báo define cho baudrate, các bạn phải thêm ký tự l (long) vào cuối nhé:Code: Code:

#define UART_BAUDRATE 9600l

Để cho trình biên dịch biết đó là giá trị long, vì trong hàm khởi tạo uart, biến tương ứng là biến long. long.

Bây giờ là phần code cho TCP :

Ta lại tạo 2 file source và header :“tcp.c” : “tcp.c” :

Code:

//--- // Writen by NTTam - PTITHCM

//--- #include "packet.h" #include "ethernet.h" #include "ip.h" #include "uart.h" #include "tcp.h" “tcp.h” : Code: //--- // Writen by NTTam - PTITHCM

//--- #ifndef TCP_H

#define TCP_H #endif //TCP_H

Đầu tiên là mở file “packet.h”, thêm mô tả TCP header vào :Code: Code:

//--- ---

//Cau truc TCP header struct ntTCPHeader {

unsigned int srcPort; unsigned int desPort; unsigned long seqNumber; unsigned long ackNumber; unsigned char Offset; unsigned char Flags; unsigned int Window; unsigned int Checksum; unsigned int UrgentPtr; unsigned char optdata[8]; };

#define TCP_HEADER_LEN 20

Một phần của tài liệu ATMEGA32 GIAO TIẾP VỚI ENC28J60 QUA SPI – AVR WEBSERVER (Trang 74 - 75)