View Single Post
Old 01-01-2009, 11:00 PM   #5
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi nvtri View Post
Cảm ơn anh Nam, em đã hiểu cách gửi dữ liệu của đoạn code trên rồi, nhưng em còn thắc mắc một số vấn đề sau:
+)Thứ nhất: SPEEDMULT=60*(Fcy/256); // sẽ bằng 2343750 với Fcy=10 Mhz
k=SPEEDMULT/timer3avg;
Thì sao k có vận tốc là (vòng/phút), mong anh giải thích, cái này em xem trong code của microchip về điều khiển động cơ BLDC. (lúc nãy em post lộn SPEEDMULT=4).
+)Thứ nhì: Số 0x30 là bắt đầu của vùng nhớ nào?
Thứ nhất: Tôi cũng không rõ vì sao k tính bằng vòng/phút, vì bạn không cho biết người ta tính timer3avg ra sao. Do đó, tôi chỉ giả sử rằng k tính bằng vòng/phút, dựa vào cách tổ chức thông điệp trong bộ đệm OutData[] (có cụm từ "rpm").

Thứ hai: 0x30 là mã ASCII của ký tự '0'. Nếu bạn tính ra giá trị của chữ số thập phân là x, thì x + 0x30 sẽ chuyển nó thành ký tự tương ứng với giá trị của x. Ví dụ, x = 5 thì x + 0x30 sẽ cho bạn ký tự '5', có thể hiển thị được trên các màn hình sử dụng mã ASCII.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn