VI ĐIỀU KHIỂN PIC 18F4550
3.12 Mô Tả Thực Hiện Firmware Thứ Hai
Ứng dụng thứ hai là sự trợ giúp lớn và kinh nghiệm lớn để hiểu USB, theo sự phát triển của ứng dụng trước đây áp dụng vào các điểm khác để phát triển và thực hiện cho thực thi này và firmware được dùng cho các công cụ làm việc khác này, được mô tả ở chương trước, tiếp cận đang sử dụng là mã hoạt động:
# Include <18F4455.h>
# Fuses HSPLL, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL5, CPUDIV1, VREGEN
# Use delay (clock = 48000000)
# Define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT # Define USB_EP1_TX_SIZE 8
# Include <pic18_usb.h> # Include <usb_desc_hid.h> # Include <usb.c>
Đây là phần header cần thiết để thiết lập truyền thông với DCI và có thể tạo HID lớp ứng dụng, phần đầu usb_desc_hid.h thực hiện việc này.
Ứng dụng dùng 5 đầu vào tương tự sau đây cần cấu hình CIP để làm việc với thuỷ tinh có tốc độ 20 MHz cho tốc độ 48 MHZ:
Setup_adc (ADC_CLOCK_INTERNAL); Setup_adc_ports (AN0);
Set_adc_channel (0);
Phần còn lại là logic cần thiết để có thể thiết lập quan hệ giữa chúng, nhấn nút hay nhấn nút trên máy host chỉ cần để biết tên bản ghi CIP và gửi cuộc gọi một cách thích hợp.
Đặc tính khác được thể hiện trong mã thông báo. Phần Mềm
Phát triển lập trình tại host được thực hiện bằng Microsoft Visual ++, logic của chương trình, tương tự như ứng dụng trước
Sau đây là cấu trúc chương trình trong ứng dụng này: Usb_Ej_1.dsp
File (file project) này chứ thông tin về cấp project và được dùng để xây dựng project đơn hay project con. Người dùng ngoài có thể chia sẻ file project (.dsp) nhưng không được xuất file khởi tạo nội bộ.
Usb_Ej_1.h
Đây là phần header của file chính cho ứng dụng. Project khác gồm có header đặc biệt (gồm resource.h) và khai báo lớp ứng dụng Cusb_Ej_1App.
Usb_Ej_1.cpp
Usb_Ej_1.rc
Đây là danh sách tất cả các tài nguyên của Microsoft Windows mà chương trình sử dụng gồm có các icon, điểm ảnh, con trỏ được lưu trong thư mục con của RES. File này có thể viết trực tiếp vào Microsoft Visual C++.
Usb_Ej_1.clw
File này chứa thông tin để ClassWizard sử dụng khi phác thảo các lớp hay thêm lớp mới. ClassWizard cũng dùng file này để chứa thông tin cần thiết để tạo, soạn danh sách các thông điệp, trình bày dữ liệu cho hội thoại và tạo tác vụ như thành phần nguyên bản.
Res \ Usb_Ej_1.ico
Đây là icon của file dùng cho icon ứng dụng. Icon này có trong file tài nguyên chính Usb_Ej_1.rc.
Res \ Usb_Ej_1.rc2
File này chứa tài nguyên không được viết bằng Microsoft Visual C++. Bạn nên đặt tất cả các tài nguyên không được chỉnh sửa bời bảng phác thảo tài nguyên vào file này. UsbHidApi.lib
File này cung cấp thông báo về chương trình với DLL cùng tên. Kết quả
Giao diện được phát triển hỗ trợ truyền thông USB điều khiển ba kiểu truyền dữ liệu là: đầu ra số, đầu vào số và đầu vào tương tự - số.
Hình 11: Giao diện được phát triển hỗ trợ truyền thông USB