mình đang làm đề tài giao tiếp ps2 và vga trên De2 để vẽ một số hình . . phần ps2 đang bí quá , mong anh chị em share giúp mình ít kinh nghiệm về giao tiếp PS2 ! thanks all!
Thông báo
Collapse
No announcement yet.
chương trình vẽ hình trên FPGA ?
Collapse
X
-
Comment
-
khi giao tiếp PS2 . thì 2 khối transmit và receive hoạt động thế nào khi device là chuột còn host là FPGA ? mình không hiểu khối transmit cần để làm gì , nếu nhận data từ chuột thì cần khối receive là được rồi chứ , khối transmit có chức năng gì ta ?
Comment
-
Trong trường hợp chuột thì có lẽ host ko cần Tx. Trong trường hợp keyboard thì cần vì các LEDs trên keyboard là do host điều khiển. Máy tính mà treo thì bấm mấy phím như numlock, capslock ... sẽ ko có tác dụng
Trong trường hợp chuột mình nghĩ chuột sẽ tx độ dời + các phím ... bạn thử search protocol của chuột, cái này không hiếm đâu.
Nhưng chưa hiểu là bạn vẽ vậy để làm gì.
Comment
-
Ừ, mình nghĩ bạn có thể làm PS2 receiver trước đi. Board DE2 có cái màn hình LCD, bạn có thể in toạ độ chuột ra đó, hoặc dễ hơn là truyền qua RS232, máy tính nhận và xuất ra hyperterminal.Nguyên văn bởi gunner Xem bài viếtcám ơn bạn ! mình làm theo hướng dẫn của thày thôi , chủ yếu để thực hành được verilog và kit DE2 . sau đó sẽ phát triển viết thêm mấy game đó mà. hy vọng nếu khó khăn bạn có thể giúp đỡ , thanks you !
Bạn viết code, rồi post lên đây cả phần thiết kế và phần code, mình sẽ review giúp bạn. Code Review Cũng là 1 bước trong việc thiết kế chuyên nghiệp, các đồng nghiệp sẽ review code và đưa ra các bình luận/góp ý.
Comment
-
mình có giải thuật đường thẳng như sau :
khi click chuột trái sẽ lấy tọa độ vị trí thứ 1 . khi click chuột phải tại vị trí khác thì sẽ lấy tọa độ 2. sau đó lấy hiệu khoảng cách 2 tọa độ , chia đều khoảng cách này thành bao nhiêu khoảng tùy mình . sau đó sẽ tô đen những vị trí cách điểm 1 + tăng dần giá trị chia ở trên , tô đến điểm 2 là ta được đường thẳng .
........ tuy nhiên cách này code sẽ rất dài và khi 2 điểm cách nhau xa thì đườn thẳng sẽ bị đứt đoạn
...
... có bạn nào biết giải thuật khác không ?
Comment
-
cho mình hỏi khi muốn vẽ tứ giác như sau :
-click chuột trái tại 3 điểm đầu tiên .
-điểm cuối cùng sẽ click chuột phải .
- khi click chuột phải thì mới enable việc nối các điểm đó lại
???? làm sao để phát hiện các lần click chuột trái khác nhau để lưu tọa độ của mỗi lần đó . ??
... mình làm như sau và gặp phải một số lỗi :
////////////////////////////////////////////////
begin
if( btnm[0]&&a==2'b00) // first click left mouse . save point 1
begin
#10000;
p_reg1 <= p_reg;
l_reg1 <= l_reg;
en=0;
LEDR=4'b0001;
a=2'b01;
end
else if(btnm[0]&&a==2'b01) // second click left mouse . save point 2.
begin
#10000;
p_reg2 <= p_reg;
l_reg2 <= l_reg;
LEDR=4'b0010;
en=0;
a=2'b10;
end
else if(btnm[0]&&a==2'b10) // click chuot trai lan 3 va luu vao diem 3
begin
#10000;
p_reg3 <= p_reg;
l_reg3 <= l_reg;
LEDR=4'b0100;
en=0;
end
else if(btnm[1]) // click right mouse . save point 4.
begin
#10000;
p_reg4 = p_reg;
l_reg4 = l_reg;
LEDR=4'b1000;
en=1;
end
///////////////////////////////////////////////////
1. khi click chuột trái lần 1 thì nó lưu tọa độ vào p_reg1 và l_reg1 như mong muốn , nhưng khi click lần 2 thì nó lại lưu vào p_reg3 và l_reg3 , đồng thời các giá trị "en và LEDR " của 2 lần click này đều là giá trị mong muốn khi click lần 3 .
>>>> như vậy là nếu dùng biến "a " để xác định lần click như trên thì do biến a thay đổi nhanh quá nên nó sẽ thực hiện cả 3 lần "else if" đầu tiên . các bạn có cách nào khắc phục lỗi này không ? ( hoặc có cách khác để xác định lần click chuột trái 1,2,3 ko )????
Comment
Bài viết mới nhất
Collapse
-
bởi theidiotcatTrong thế giới linh kiện PC, không phải lúc nào những CPU mạnh nhất với mức giá ngất ngưởng cũng là lựa chọn sáng suốt nhất. Đối với đại đa số người dùng – từ học sinh, sinh viên, nhân viên văn phòng cho đến những game thủ eSports...
-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 09:00 -
-
Trả lời cho Xin tài liệu điều khiển động cơ DCbởi truy cậpCan you share one for the bldc motor?...
-
Channel: Điện tử công nghiệp
23-05-2026, 16:27 -
-
bởi EbeleChào mọi người. Hệ thống CNC của tôi điều khiển tốc độ của biến tần thông qua tín hiệu đầu vào analog 0-10V. Khi chương trình dừng lại, điện áp được cấp là 0V, nhưng trục chính vẫn quay chậm ở tốc độ khoảng 30 vòng/phút.
Khi sử dụng đồng...-
Channel: Điện tử dành cho người mới bắt đầu
23-05-2026, 14:17 -

Comment