mình đang làm phần giao tiếp với máy tính qua RS232, nếu máy tính truyền một ký tự thì mình giải quyết được, còn nếu máy tính truyền một chuổi kết thúc bằng ký tự ENTER thì mình vẫn chưa làm được, đang bí quá. yêu cầu là chuổi sau khi được gửi xuống thì lưu vào biến temp, xin các cao thủ chỉ giúp.
Thông báo
Collapse
No announcement yet.
Xin hỏi về vấn đề nhận một chuổi từ máy tính
Collapse
X
-
Biến temp của bạn phải là một mảng kí tự( theo kiểu C/C++)vậy biến tem này cũng có độ dài n và kí hiệu là temp[n]. Bạn có thể làm thuật toán như sau:
Giả sử chuỗi kí tự cần gửu là String[n] có độ dài là n kí tự ASCII, các bước gửu lần lượt như sau:
Bước 1: Gửu lệnh thông báo bắt đầu gửu chuỗi từ PC tới MCU
Bước 2: Gửu lệnh sẵn sàng nhận chuỗi từ MCU tới PC
Bước 3: Gửu kí tự đầu tiên trong chuỗi String[n] là String[0] từ PC tới MCU
Bước 4: MCU nhận đc kí tự đầu tiên thì lưu temp[0]=(kí tự nhận dc) rồi gửu thông báo yêu cầu gửu kí tự thứ 2( từ MCU tới PC)
Bước 5: Sau khi đọc yêu cầu gửu kí tự thứ 2 của MCU thì chuyển sang gửu kí tự tứ 2 (từ PC tới MCU)
Bước 6: MCU nhận đc kí tự thứ 2 thì lưu temp[1]=(kí tự nhận đc) gửu thông báo yêu cầu gửu kí tự thứ 3(Từ MCU tới PC)
Bước 7: Khi đọc đc yêu cầu gửu kí tự thứ 3 của MCU thì bắt đầu gửu kí tự thứ 4 (PC tới MCU)
.......................
Quá tình cứ tiếp tụ như vậy tới khi gửu đủ n kí tự trong chuỗi String[n] và PC báo kết thúc quá trình truyền dư liệu tới MCU
bạn phải kí hiệu các mã xác nhận gửu, yêu cầu gửu, kết thúc các quá trình gửu là các mã không phải là mã kí tự trong bảng mã ASCII để tránh cho việc hiểu lầm của PC và MCU với các kí tự cần gửu trong chuỗi String[n]
-
Nguyên văn bởi kidteam Xem bài viếtok đồng ý với bạn
đây là cách gửi từng ký tự
nói chung thì cần thỏa thuận giữa MCU và PC
Comment
-
minh cung biet vay, nhung tren C thi khai bao nhu the nao. minh dung ngat Rx nen hoi lung tung.
void nhan (void temp[])
khai bao ham ngat nhan du lieu nhu the ma no cu bao loi o bien temp do hoai. y minh muon chi can goi ham nhan(str) thi chuoi nhan duoc se luu vao chuoi str. xin cac bac co the viet luon chi tiet tung cau lenh dum luon de em co the giai quyet duoc van de nay. cam on nhieu.
sorry! do minh truy cap tren dien thoai nen go ko co dau.hãy cố gắng dù vướn phải thất bại!!!!!!!!
Comment
-
Nguyên văn bởi chipmickey Xem bài viếtminh cung biet vay, nhung tren C thi khai bao nhu the nao. minh dung ngat Rx nen hoi lung tung.
void nhan (void temp[])
khai bao ham ngat nhan du lieu nhu the ma no cu bao loi o bien temp do hoai. y minh muon chi can goi ham nhan(str) thi chuoi nhan duoc se luu vao chuoi str. xin cac bac co the viet luon chi tiet tung cau lenh dum luon de em co the giai quyet duoc van de nay. cam on nhieu.
sorry! do minh truy cap tren dien thoai nen go ko co dau.
void nhan (char temp[])
Comment
-
Bạn có thế cho 1 đoạn code mẫu ko.
Nguyên văn bởi congbinh1989 Xem bài viếtBiến temp của bạn phải là một mảng kí tự( theo kiểu C/C++)vậy biến tem này cũng có độ dài n và kí hiệu là temp[n]. Bạn có thể làm thuật toán như sau:
Giả sử chuỗi kí tự cần gửu là String[n] có độ dài là n kí tự ASCII, các bước gửu lần lượt như sau:
Bước 1: Gửu lệnh thông báo bắt đầu gửu chuỗi từ PC tới MCU
Bước 2: Gửu lệnh sẵn sàng nhận chuỗi từ MCU tới PC
Bước 3: Gửu kí tự đầu tiên trong chuỗi String[n] là String[0] từ PC tới MCU
Bước 4: MCU nhận đc kí tự đầu tiên thì lưu temp[0]=(kí tự nhận dc) rồi gửu thông báo yêu cầu gửu kí tự thứ 2( từ MCU tới PC)
Bước 5: Sau khi đọc yêu cầu gửu kí tự thứ 2 của MCU thì chuyển sang gửu kí tự tứ 2 (từ PC tới MCU)
Bước 6: MCU nhận đc kí tự thứ 2 thì lưu temp[1]=(kí tự nhận đc) gửu thông báo yêu cầu gửu kí tự thứ 3(Từ MCU tới PC)
Bước 7: Khi đọc đc yêu cầu gửu kí tự thứ 3 của MCU thì bắt đầu gửu kí tự thứ 4 (PC tới MCU)
.......................
Quá tình cứ tiếp tụ như vậy tới khi gửu đủ n kí tự trong chuỗi String[n] và PC báo kết thúc quá trình truyền dư liệu tới MCU
bạn phải kí hiệu các mã xác nhận gửu, yêu cầu gửu, kết thúc các quá trình gửu là các mã không phải là mã kí tự trong bảng mã ASCII để tránh cho việc hiểu lầm của PC và MCU với các kí tự cần gửu trong chuỗi String[n]
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Hỏi về bơm màng bldcbởi nhathung1101Thì đây là 4r điên nặng điện mà, nên họ show phần điện thôi. Phần "cốt lõi" có cái tay biên chắc sang Văn Môn rồi....
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 18:54 -
-
Trả lời cho Chọn dây dẫn cho điện DC?bởi nhathung1101Điện DC đương nhiên là khác với AC rồi. Chỉ cần biết mặt chữ là thấy khác như gà trống với gà mái mà.
Còn về bản chất, AC là dòng điện hoạt động theo tần số. Tần số càng cao thì dây dẫn càng mỏng, nhẹ, vì hiệu ứng...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 18:46 -
-
Trả lời cho Công thức điện tửbởi nhathung1101Ăn ít => Nói nhiều.
Nói nhiều => Làm ít.
Làm ít => Vợ mắng.
Vợ mắng => Cáu nhiều.
Cáu nhiều => Ngủ ít.
Ngủ ít => Râu nhiều.
Râu nhiều =>...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 18:39 -
-
Trả lời cho Chọn dây dẫn cho điện DC?bởi mèomướpDạ 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...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:49 -
-
bởi vietroadTheo 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...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:19 -
-
Trả lời cho Hỏi về bơm màng bldcbởi vi van phamPhải xem cơ cấu bơm, chứ xem cơ cấu rotor, thì chỉ làm thầy bói xem voi.
-
Channel: Điện tử dành cho người mới bắt đầu
29-11-2024, 08:19 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11vg, cám ơn bác...........
-
Channel: Thiết bị điện tử cá nhân
28-11-2024, 14:37 -
-
bởi khoine9899
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...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2024, 11:22 -
-
Trả lời cho Cần mọi người giúp mạch tạo sóng siêu âm máy rửabởi bqviet
-
Channel: Điện tử công suất
27-11-2024, 20:26 -
-
bởi Minhdai95Em chào mọi người, e đang sửa mạch tạo sóng siêu âm cho máy rửa mà chưa có tài liệu để tham khảo sửa, mọi người cho e xin tài liệu ạ...
-
Channel: Điện tử công suất
27-11-2024, 11:37 -
Comment