Nguyên văn bởi dinh_dong
Xem bài viết
Thông báo
Collapse
No announcement yet.
Giao thức TCP/IP và Web server với AVR
Collapse
This is a sticky topic.
X
X
-
Đúng vậy, bạn hieppro89 đã trả lời rất chính xác. Lúc viết tới giao thức UDP tôi đã không để tham số source port trong hàm udpSend. Nhưng khi cập nhật tới giao thức DHCP thì lại cần tới tham số này (do DHCP qui định rõ des/source port cho dịch vụ) nên tôi đã bổ sung thêm tham số này vào hàm, bạn có thể tham khảo lại ở phần giao thức DHCP hoặc sửa theo trả lơi của bạn hieppro89 là chính xác.
-
em đang ngâm cứu lại lý thuyết TCP/IP từ đầu bài học của ThầyCó ai biết cách post flash lên forum không? Xin chỉ giúp. Vài minh họa bằng ảnh động có lẽ dễ hiểu hơn.
đúng là có cái flash thì sẽ sinh động và dễ hiểu hơn, mặc dù Thầy đã post hết các ảnh lên và cũng dễ hiểu rồi
P/S:
+có thời gian Thầy post lại mấy flash về hub, swith, arp,tcp...bằng thẻ "insert video" cạnh thẻ "quote" ngoài cùng đó Thầy
+hình như nó hỗ trợ mấy link, Thầy post lên youtube là ổn nhất
+em cũng muốn dùng flash, để làm bài thuyết trình, chắc chắn sẽ thuyết phục hơn nhiều
+em ko down được flash về HUB trên trang web:
http://www.shareswf.com/media/games/swf/16193.swf
chỉ quay video màn hình cũng ok rồi
+Thầy thiết kế flash bằng phần mềm gì vậy?
bấy nhiêu chia sẻ, cảm ơn thầy nhìu!!!
Comment
-
Thầy ơi, alij gặp vấn đề mà debug ko ra. Thầy coi hình em với. Đoạn code này cũng ko bit copy vào đâu cho đúng.
TIMER_INTERRUPT_HANDLER(SIG_OVERFLOW1)
{
//Tai nap gia tri timer 1
TCNT1 = 0xFFFF - TIMER1_INTERVAL;
//Cap nhat watchdog timer
if((time_watchdog++) > 120){
time_watchdog = 0;
ethInit();
}
Counter1s++;
arpTimer();
TCPCheckTimeOut();////
dhcpTimer();////
}
Comment
-
Đoạn code đó nằm trong file "timer.c"Nguyên văn bởi dinh_dong Xem bài viếtThầy ơi, alij gặp vấn đề mà debug ko ra. Thầy coi hình em với. Đoạn code này cũng ko bit copy vào đâu cho đúng.
[ATTACH=CONFIG]35926[/ATTACH]
Nhớ include các file:
Kiểm tra lại có thể bạn copy trùng ở đâu đó.Code:#include <avr/io.h> #include <avr/interrupt.h>
Comment
-
cái này đơn giản thui mà5-Mở hàm ngắt timer 1 (trong file timer.h), thêm vào các hàm cập nhật thời gian của giao thức TCP và DHCP vào:
Code:
TIMER_INTERRUPT_HANDLER(SIG_OVERFLOW1)
{
//Tai nap gia tri timer 1
TCNT1 = 0xFFFF - TIMER1_INTERVAL;
//Cap nhat watchdog timer
if((time_watchdog++) > 120){
time_watchdog = 0;
ethInit();
}
Counter1s++;
arpTimer();
TCPCheckTimeOut();////
dhcpTimer();////
}
sửa trong file Timer.c đó
bạn để ý kĩ code TIMER_INTERRUPT_HANDLER(SIG_OVERFLOW1) cũ và TIMER_INTERRUPT_HANDLER(SIG_OVERFLOW1) mới
khi Thầy bảo sửa lại để cập nhật thời gian cho TCP và DHCP
có gì khác nhau ko?
thì bác chỉ cần Copy cái TIMER_INTERRUPT_HANDLER(SIG_OVERFLOW1) mới đè lên cái cũ là ok ngay mà
đây là file timer.c của em:
còn đây là file trc khi sửa đổi://----------------------------------------------------------------------------
// Writen by NTTam - PTITHCM
//----------------------------------------------------------------------------
#include <avr/io.h>
#include <avr/interrupt.h>
#include "ntAVRnet.h"
#include "timer.h"
#include "ethernet.h"
#include "arp.h"
#include "dhcp.h"
#include "tcp.h"
//#include "tcp.h"
//----------------------------------------------------------------------------
extern volatile unsigned int time_watchdog;
static volatile unsigned long UptimeMs;
static volatile unsigned char Counter10ms;
static volatile unsigned int Counter1s;
//----------------------------------------------------------------------------
void timer1Init(void)
{
// initialize timer 1
// set prescaler on timer 1
TCCR1B = (TCCR1B & ~TIMER_PRESCALE_MASK) | TIMER1PRESCALE; // set prescaler
TCNT1H = 0; // reset TCNT1
TCNT1L = 0;
TIMSK |= (1<<TOIE1); // enable TCNT1 overflow
TCNT1 = 0xFFFF - TIMER1_INTERVAL;
}
void timerInit(void)
{
timer1Init();
sei();
}
//! Interrupt handler for tcnt1 overflow interrupt
//thêm vào các hàm ca^.p nha^.t tho+`i gian cu?a giao thu+'c TCP và DHCP
TIMER_INTERRUPT_HANDLER(SIG_OVERFLOW1)
{
//Tai nap gia tri timer 1
TCNT1 = 0xFFFF - TIMER1_INTERVAL;
//Cap nhat watchdog timer
if((time_watchdog++) > 120){
time_watchdog = 0;
ethInit();
}
Counter1s++;
arpTimer();
TCPCheckTimeOut();////
dhcpTimer();////
}
bác xem lại ở trang 6 và trang 13 để tiện so sánh nhé//----------------------------------------------------------------------------
void timer1Init(void)
{
// initialize timer 1
// set prescaler on timer 1
TCCR1B = (TCCR1B & ~TIMER_PRESCALE_MASK) | TIMER1PRESCALE; // set prescaler
TCNT1H = 0; // reset TCNT1
TCNT1L = 0;
TIMSK |= (1<<TOIE1); // enable TCNT1 overflow
TCNT1 = 0xFFFF - TIMER1_INTERVAL;
}
void timerInit(void)
{
timer1Init();
sei();
}
//! Interrupt handler for tcnt1 overflow interrupt
TIMER_INTERRUPT_HANDLER(SIG_OVERFLOW1)
{
//Tai nap gia tri timer 1
TCNT1 = 0xFFFF - TIMER1_INTERVAL;
//Cap nhat watchdog timer
if((time_watchdog++) > 120){
time_watchdog = 0;
ethInit();
}
Counter1s++;
arpTimer();
//TCPCheckTimeOut();
}
best regards!
Comment
-
Thấy các bạn hơi mất thời gian về phần biên dịch code, mình up lên cả nguyên file để các bạn chạy nè. Chưa test được code vì bỏ quên mạch ở nhà, cuối tuần về có kết quả báo cho ae biết liền.
----Công nhận code anh Tâm viết cao siêu quá, đọc không mà cái đầu xoay quần mệt thiệt. Kiểu này chắc cắt dán cho nó chạy rồi hãy built lại sau. Huhu
Attached Files
Email:
Tel: 0983.497.310
Comment
-
Thức khuya vậy Huy? Chê code anh viết khó hiểu quá chứ gìNguyên văn bởi tienhuypro Xem bài viếtThấy các bạn hơi mất thời gian về phần biên dịch code, mình up lên cả nguyên file để các bạn chạy nè. Chưa test được code vì bỏ quên mạch ở nhà, cuối tuần về có kết quả báo cho ae biết liền.
----Công nhận code anh Tâm viết cao siêu quá, đọc không mà cái đầu xoay quần mệt thiệt. Kiểu này chắc cắt dán cho nó chạy rồi hãy built lại sau. Huhu
, còn bảo cao siêu cái gì. Thực ra code này anh cũng viết lại thôi, tham khảo các open source của tụi nước ngoài. Có điều khi đã hiểu hết thì có thể viết theo ý mình. Phần mới post anh cũng chưa test trên mạch (vì cắt từng phần ra từ full project), để mai nạp test thử xem copy code có sai sót gì không.
Comment
-
Do copy khí thế nên hay bị lỗi vặt vặ Bác à. Mà chỉnh mấy cái đấy em cũng thấy có ích ấy chứ. Bác làm nhìu nên rành, ae đang tập tọe mà. hì hì. Anh Huy đang làm ở đâu zị?Nguyên văn bởi tienhuypro Xem bài viếtThấy các bạn hơi mất thời gian về phần biên dịch code, mình up lên cả nguyên file để các bạn chạy nè. Chưa test được code vì bỏ quên mạch ở nhà, cuối tuần về có kết quả báo cho ae biết liền.
----Công nhận code anh Tâm viết cao siêu quá, đọc không mà cái đầu xoay quần mệt thiệt. Kiểu này chắc cắt dán cho nó chạy rồi hãy built lại sau. Huhu
Cả nhà vẫn còn thức khuya lắm thầy, hehe. Đang ôn thi đi test phỏng vấn nữa thầy ạ.Nguyên văn bởi nttam79 Xem bài viếtThức khuya vậy Huy? Chê code anh viết khó hiểu quá chứ gì
, còn bảo cao siêu cái gì. Thực ra code này anh cũng viết lại thôi, tham khảo các open source của tụi nước ngoài. Có điều khi đã hiểu hết thì có thể viết theo ý mình. Phần mới post anh cũng chưa test trên mạch (vì cắt từng phần ra từ full project), để mai nạp test thử xem copy code có sai sót gì không.Last edited by dinh_dong; 24-11-2011, 03:02.
Comment
-
Mai nạp và test mạch nhớ chụp hình lại nha anh Tâm.Nguyên văn bởi nttam79 Xem bài viếtThức khuya vậy Huy? Chê code anh viết khó hiểu quá chứ gì
, còn bảo cao siêu cái gì. Thực ra code này anh cũng viết lại thôi, tham khảo các open source của tụi nước ngoài. Có điều khi đã hiểu hết thì có thể viết theo ý mình. Phần mới post anh cũng chưa test trên mạch (vì cắt từng phần ra từ full project), để mai nạp test thử xem copy code có sai sót gì không.
Email:
Tel: 0983.497.310
Comment
-
OK. Thôi bb mọi người, đi ngủ đây, thức 2 đêm chịu ko nổi, mai 6h phải dậy đi làm rùi.Nguyên văn bởi tienhuypro Xem bài viếtMai nạp và test mạch nhớ chụp hình lại nha anh Tâm.
Comment
-
Thầy Bảo Đạt hướng dẫn, Thầy ạ, có nói trc là đề tài khó, but em thik nên tự tìm hiểu. Em chỉ đăng kí làm kết nối PC vs Board(LAN).Em làm, đề tài em tự chọn nên Thầy Bảo Đạt cũng không hỗ trọ đc nhìu, em có hỏi thầy Duy but thầy cũng nói chưa làm ethernet. Em đành tự bươn.Nguyên văn bởi nttam79 Xem bài viếtdinh_dong làm đồ án TN với thầy nào vậy?
Comment
-
Hehe, trước đây có anh Đán hình như có làm về ethernet nhưng anh Đán cũng đã nghỉ bên Học viện rồi. Anh Duy thì làm nhiều về các lĩnh vực khác như FPGA,... Vậy ding_dong lo hối lộ tôi đi, không mai mốt tôi rủ anh Đạt đi uống cafe, bảo ảnh thằng nào đang làm ethernet, anh cứ cho ... rớt đi.Nguyên văn bởi dinh_dong Xem bài viếtThầy Bảo Đạt hướng dẫn, Thầy ạ, có nói trc là đề tài khó, but em thik nên tự tìm hiểu. Em chỉ đăng kí làm kết nối PC vs Board(LAN).Em làm, đề tài em tự chọn nên Thầy Bảo Đạt cũng không hỗ trọ đc nhìu, em có hỏi thầy Duy but thầy cũng nói chưa làm ethernet. Em đành tự bươn.
Comment
-
Ho ho, thầy Đạt dạy ở trường cũng có tiếng sát thủ với SV, nói tới ai cũng sợ - vì rớt. Nhưng nói thế chứ thầy Đạt cũng ko "chém" thẳng tay, nên thầy Tâm ko dụ dỗ được em rầu, koko. Thầy Tâm đang công tác ở RMIT-DHQG phải ko ạ? Thầy Đán thì chuyên làm mấy cái board kiểu như này, thầy cũng chuyển công tác từ năm ngoái.Nguyên văn bởi nttam79 Xem bài viếtHehe, trước đây có anh Đán hình như có làm về ethernet nhưng anh Đán cũng đã nghỉ bên Học viện rồi. Anh Duy thì làm nhiều về các lĩnh vực khác như FPGA,... Vậy ding_dong lo hối lộ tôi đi, không mai mốt tôi rủ anh Đạt đi uống cafe, bảo ảnh thằng nào đang làm ethernet, anh cứ cho ... rớt đi.
Comment
-
Không biết được, có tac động thì khác àNguyên văn bởi dinh_dong Xem bài viếtNhưng nói thế chứ thầy Đạt cũng ko "chém" thẳng tay
Không phải.Nguyên văn bởi dinh_dong Xem bài viếtThầy Tâm đang công tác ở RMIT-DHQG phải ko ạ?
Comment
Bài viết mới nhất
Collapse
-
bởi theidiotcatKhi ráp một bộ máy tính cấu hình cao, việc cân đối ngân sách cho từng linh kiện là rất quan trọng. Sự kết hợp giữa vi xử lý AMD Ryzen thế hệ mới có công nghệ 3D V-Cache và card đồ họa Radeon RX 9070 XT đang là lựa chọn rất đáng tiền....
-
Channel: Đánh giá sản phẩm DTVN
11-06-2026, 10:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Giới thiệu bản nhạc đệm mới nhộn nhịp tươi vui, nghe là muốn... xuất gia đi tu liền!!!!😁...
-
Channel: Tâm tình dân kỹ thuật
11-06-2026, 09:51 -
-
Trả lời cho Máy đo khuôn mẫubởi vi van phamQuá dễ, Mua cái máy xq quét tòan thân, lấy bàn và khung di chuyển. Tháo đầu xquang ra bán ve chai, mua cái máy siêu âm gắn vào vị trí đầu đèn. Setup máy là chạy chính xác, còn file Setup thì chưa nghĩ ra....
-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 08:49 -
-
Trả lời cho Máy Phun sương tạo ầm Trung Quốc.bởi nguyendinhvanMạch tạo sương là tự dao động.
Mach 555 là đóng mở chu kỳ tần số thấp.
IC 555 giá rẻ, chỉ chạy lên tần số vài trăm ki lô hẹc thôi. Thăng cao hơn là méo dạng rồi tịt.
Mach sương thì dao động tần số tầm 2 mê ga hẹc cơ !...-
Channel: Tâm tình dân kỹ thuật
07-06-2026, 00:09 -
-
bởi nguyendinhvan
Cái máy đo này mắc tiền quá !
Anh em dtvn có giải pháp nào tự chế được không ?...-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 00:00 -
-
bởi nguyendinhvanOi giời.
Thơi buổi PLC rồi, cậu còn hỏi mấy thứ cổ lỗ sĩ này nữa.-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 22:59 -
-
bởi nguyendinhvanChuyện này cũ rồi.
Họ trả lương cho CN, sau đó lại bán hàng thu tiền về. Họ còn cấp các dịch vụ như chỗ ăn ở, quán cafe , giải trí, phương tiện giao thông. Mục đích là thu tối đa số tiền đã chi trả.
Hàng hóa sx ra, chuyển...-
Channel: Tìm mua
06-06-2026, 22:56 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phambao nhiêu năm quên bẳng đi, là mình còn có 1 chút xíu nghệ thuật bài bản, đã dạy cho con cháu chơi đàn, dù bố mẹ và chúng không xem là quan trọng. Hôm qua ngày bế mạc lớp lá, bỗng dưng thằng cháu ngoại thấy con bé được sơ giới thiệu...
-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 21:58 -
-
bởi ittcChào các anh em, tình hình là mình lo làm ăn không để ý sức khỏe, giờ có chút vấn đề rồi? không biết trên này có anh em nào độ tuổi U35 -> 40 đang có dùng các loại thuốc, thuốc bổ hay thực phẩm chức năng giúp bổ thận tráng dương,...
-
Channel: Tâm tình dân kỹ thuật
05-06-2026, 12:28 -
-
bởi theidiotcatTrong thế giới phần cứng năm 2026, AMD Ryzen 5 7500X3D không chỉ là một cái tên mới, nó là một tuyên ngôn về hiệu suất. Dựa trên các thử nghiệm khắt khe trong môi trường chơi game chuyên nghiệp, con chip này đã chứng minh rằng: bạn không cần...
-
Channel: Đánh giá sản phẩm DTVN
05-06-2026, 10:05 -

Comment