Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
mình làm mạch giao tiếp AVR với PC khi truyền từ máy tính xuống AVR thì truyền được còn khi truyền lên thì chào thua.Mình thay vài con rồi mà vần như vậy.Có bác nào biết về hiện tượng này thì mình hỏi cái và khắc phục như thế nào nhỉ
Để truyền thông giữa các loại vi xử lý và PC theo tôi có 3 cách như sau:
- cách thứ nhất: dùng 1 byte đặc biệt để đánh dấu ở cuối khung truyền để bên nhận có thể biết khi nào dữ liệu đã được truyền xong. tuy nhiên cách này không được hoàn hảo nếu như bạn muốn dùng các ký tự này trong khung truyền.
- cách thứ 2: là dùng phương pháp đếm thời gian để biết rằng khi nào dữ liệu đã truyền xong. một bít trong một khung truyền chỉ truyền trong một khoảng thời gian nhất định nào đấy nếu quá thời gian này thì coi như khung truyền đã được truyền xong hoặc bị lỗi. thuật toán của phương pháp này như sau:
nhận bít đầu tiên của khung
|
|
V
nhận xong và cho timer đếm
|
|
V
Nếu quá timer đếm quá thời gian quy định
mà vẫn chưa có bít tiếp theo
( khoảng 20ms) thì coi như đã truyền xong
- Cách thứ 3: kết hợp cả 2 phương pháp trên. theo tôi cách này là an toàn tuyệt đối, tôi đã thử dùng cả 3 cách này, kết quả là khả quan. Chúc các bạn thành công.
chào bạn !
mình đang làm về đề tài thiết kế cân điện tử dùng VĐk AVR ,kết quả đo được hiển thị trên led
Bạn có tài liệu ,sơ đồ mạch kết nối hướng dẫn giúp mình với,hoặc gửi cho mình theo địa chỉ mail toiyeuvietnam8x@gmail.com
Cảm ơn bạn nhiều!
Các bác ơi ! Giúp em với !
Em đang test thử cái giao tiếp 232 với máy tính nhưng mãi mà chưa được !
Về phần chương trình thì em nghĩ không có vấn đề gì , vì em đã thực hiện giao tiếp giữa 2 con AT32 thì OK ! Còn chương trình trên máy tính cũng OK luôn vì đã nối RxD và TxD của máy tính với nhau !
Vấn đề là khi nối 2 chân từ MAX232 vào VDK với nhau mà thực hiện chương trình giao tiếp trên máy tính thì lại không được . Hic
Có phải chết con MAX232 không ah ? Nhưng nếu chết thật thì không nhẽ chết đến 5 con , mà toàn con mới ! HIC HIC (9k x 5 = $$$$$)
Xin các bác cho em một lời giải thích !
Các bạn cho mình hỏi làm cách nào để truyền 1 chuổi từ PC sang Atmega32
Mình đang làm PID vận tốc.Mình cần truyền Vset,Ki,Kp,Kd từ giao diện (dùng VS 2005) xuống Atmega32 ( Dùng Codevision ).
Mình dùng PWM 9bit OCR1A
Timer2 ngắt ở chế độ so sánh tạo CK lấy mẩu từ encoder (12ms).
Counter0 đếm xung encoder.
Mình có viết 1 hàm để truyền.
Mình muốn truyền Vset.
Từ giao diện mình truyền:
sp1->WriteLine(string_vset+"a");
string_vset: là giá trị Vset
"a":kết thúc chuổi.
Khi bắt được chử "a" thì chuyển chuổi trước nó thành số thực.
Test trên terminal thì thấy đúng nhưng khi test trên mô hình thì sai
Bạn có thể thiết lập giao tiếp qua UART dc mà . Nhưng mà lúc viết thì nhớ cho ngắt UART để tránh khi hệ thống đang chạy thì không thể giao tiếp dc với pc .Còn đơn giản hơn bạn dùng một chân trong vdk làm chân trạng thái chân này dk từ PC ( bằng chân RTS ) chằng hạn . Còn PWM trong AVR đả là cứng rùi . Cẩn thận với Encoder vì khi quay tốc độ cao có thể con vdk sẽ "có thể" bỏ xung đếm không kịp cái này cẩn thận thôi .
Mạch nạp Little Programmer
MSC-51,AVR,EEPROM ... etc
Xin chào các bạn trong diễn đàn . Tôi là người mới học lập trình AVR và tôi cảm thấy thích thú nhất với mảng giao tiếp giữa AVR và PC thông qua cổng COM. Tôi đang gặp phải 1 vấn đề chưa tìm được phương án giải quyết mong được mọi người trong diễn đàn chỉ giúp .
1. Khi truyền 1 byte từ Máy tính (Để giao tiếp VDK với MT tôi dùng Visual basic) xuống VDk thì OK (Tôi dùng hàm getchar() cho đơn giản ) . Khi truyền 1 mảng dữ liệu từ máy tính xuống thì tôi out dữ liệu liên tục xuống , trên VDK tôi dùng 1 mảng nhận dữ liệu : nhandulieu[10] ; 10 là ký tự truyền .
Khi truyền trạng thái của hệ thống ( ví dụ như trạng thái của động cơ : Quay trái ... Tắt mở...) thì được nhưng khi truyền 1 giá trị chẳng hạn như vận tốc, hoặc tần số ... thì không được ,
RẤT MONG MỌI NGƯỜI CHO Ý KIẾN . XIN CẢM ƠN
Dạ vài chục mét thì chú tính như vậy được ạ. Chứ chuẩn thì phải tính cả điện trở của toàn bộ chiều dài dây dẫn nhân với dòng điện xem sụt áp có trong khoảng chấp nhận đc hông ạ. Trong mạch điện tử khoảng cách ngắn và mạch...
Theo mình biết thì chọn dây dẫn dựa vào dòng tải. Thường thì tiết diện 1mm2 cho dòng 6A. Nhưng trong các mạch điện tử, như mạch nguồn tổ ong chẳng hạn, dòng đến vài chục Ampe mà đường mạch mỏng dính. Phải chăng điện DC nó khác với...
Em chào các anh và mọi người.
Hiện em đang có 1 con bơm màng trong thiết bị y tế đang gặp tình trạng yếu dần hoặc ngừng hoạt động sau thời gian sử dụng
Sau khi tìm hiểu về thông tin của bơm trên mạng thì em được biết...
Comment