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
-
-
Có 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
-
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:
Code:#include <avr/io.h> #include <avr/interrupt.h>
Comment
-
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:
//----------------------------------------------------------------------------
// 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();////
}
//----------------------------------------------------------------------------
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. HuhuAttached Files
Email:
Tel: 0983.497.310
Comment
-
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
-
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
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
-
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
-
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
-
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
-
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
-
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
-
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
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 dinhthuong80Xin cảm ơn tất cả sự góp ý giúp đỡ.
Từ diện tích bạn mèomướp vẽ và tính giúp:
S' ~ 3272mm2 => độ dày cánh:
d=S'/156 = 21*10^-3m
S = pi/4 [ D1^2 - D2^2 ] ~ 0.785*[38^2-7^2]cm2 ~ 1095cm2 = 0.1095m2
Lưu lượng gió tại số 2, quạt 3 cánh:...-
Channel: Điện tử gia dụng
hôm nay, 15:24 -
-
bởi appongthoGiới thiệu về lỗi H-56 trên máy giặt Panasonic
https://appongtho.com/xoa-loi-h-56-may-giat-panasonic/
Máy giặt Panasonic là một trong những dòng máy giặt hiện đại với nhiều tính năng tiên tiến. Tuy nhiên, trong quá trình sử dụng, máy...-
Channel: Điện tử gia dụng
hôm nay, 09:59 -
-
bởi nguyendinhvanCần bổ sung cột số liệu nhiệt độ động cơ sau khi hoạt động 60 phút....
-
Channel: Điện tử gia dụng
hôm nay, 01:53 -
-
bởi nguyendinhvanHình dạng cánh quạt được thiết kế tùy thuộc vòng quay.
Vòng quay càng lớn, cánh càng nhỏ.
Làm thế, hiệu suất mới cao.
Cái chân vịt tàu thủy, cánh nó to như kiể tai voi, vì động cơ tagu thủy vòng quay thấp.
Cánh quạt...-
Channel: Điện tử gia dụng
hôm nay, 01:47 -
-
bởi mèomướpDạ quạt của chị ấy cánh bằng sắt han rỉ nhìn cũ lắm nhưng hông thấy hỏng chạy chắc tốn điện lắm ạ nên tiết kiệm hông dám dùng. Trưa Hôm nào cụ trưởng bản cũng sang thăm là chị ấy đóng kín cửa lúc sau ra thấy người mồ hôi...
-
Channel: Điện tử gia dụng
Hôm qua, 20:10 -
-
Trả lời cho Thay đổi led 7 đoạn 8051 asmbởi davidcopyDưới đây là đoạn code Assembly cho vi điều khiển AT89C51, thực hiện chức năng như bạn yêu cầu:
Nhấn nút lần 1, LED 7 đoạn hiển thị số 05.
Nhấn nút lần 2, LED 7 đoạn hiển thị số 08.
Nhấn nút lần 3, LED...-
Channel: Vi điều khiển họ 8051
Hôm qua, 19:00 -
-
bởi appongthoMã lỗi H-54 Máy giặt Panasonic là gì?
https://appongtho.com/khac-phuc-loi-...iat-panasonic/
Mã lỗi H-54 trên máy giặt Panasonic là dấu hiệu cảnh báo sự cố liên quan đến rơ-le điều khiển, một linh kiện quan trọng giúp máy giặt thực...-
Channel: Điện tử gia dụng
Hôm qua, 11:37 -
-
bởi dinhthuong80Hình ảnh minh họa:
1. Đo tốc độ quay_ vòng/phút: (+/-10vg/phút)
2. Đo công suất: (+/-0.2W)
...-
Channel: Điện tử gia dụng
Hôm qua, 09:31 -
-
bởi Hóa chất HHNGalvex 18.01 - Giải pháp tẩy rửa tối ưu trong ngành điện tử công nghiệp
Giới thiệu về Galvex 18.01
Trong ngành điện tử công nghiệp, việc duy trì độ sạch của linh kiện là yếu tố quan trọng giúp đảm bảo hiệu suất và độ bền của sản...-
Channel: Điện tử công nghiệp
Hôm qua, 09:26 -
Comment