PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Cách viết file.h cho Pic (http://www.picvietnam.com/forum/showthread.php?t=13577)

chuaai 21-03-2012 10:36 PM

Cách viết file.h cho Pic
 
Em đang sử dụng Pic 18f4431 và viết trên ccs. Em muốn tạo 1 file.h để khai báo các thanh ghi cần sử dụng để viết trong chương trình cho tiện. Có anh chị nào chỉ giúp em tạo với.

chuaai 22-03-2012 10:14 PM

có ai giúp với

longtu 23-03-2012 09:03 AM

1 Attachment(s)
Trích:

Nguyên văn bởi chuaai (Post 55014)
Em đang sử dụng Pic 18f4431 và viết trên ccs. Em muốn tạo 1 file.h để khai báo các thanh ghi cần sử dụng để viết trong chương trình cho tiện. Có anh chị nào chỉ giúp em tạo với.

File .h như bạn nói là tập tin header do người viết code tạo ra nhằm định nghĩa thêm những giá trị chưa được đinh nghĩa hoặc định nghĩa lại những giá trị đã được định nghĩa trong tập tin 18f4431.h đã có của CCS.

Để làm việc này bạn dễ dàng bắt trước lại theo file header .h của các PIC đã có mà. Tôi lấy ví dụ, bạn xem datasheet(16F877A) và file def877A.h. Bạn sẽ nhận ra ngay rằng người viết code đã dự vào địa chi của 1 byte nào đó có trong datasheet làm.
Ví dụ: Port A có địa chỉ(ghi rõ trong datasheet) byte là 05h, vậy trong file def877A người viết code đã định nghĩa thêm: #byte PORTA =0x05. Tương tự như vậy, bạn có thể định nghĩa cho các giá trị khác...

Trong file có sẵn của CCS, cách tính địa chỉ của bit như sau: bạn xem help của CCS cho input()
- Địa chỉ bit= Địa chỉ byte x 8 + thứ tự của bit trong byte đó.

Thân.

chuaai 23-03-2012 10:48 PM

cám ơn bạn nhìu, mình làm đc rồi

clapzen 20-10-2012 03:52 PM

Bạn làm đc rồi chia sẻ cho anh em lun đi. đỡ phải làm lại

tungtot_vl 20-10-2012 08:19 PM

Trích:

Nguyên văn bởi clapzen (Post 78701)
Bạn làm đc rồi chia sẻ cho anh em lun đi. đỡ phải làm lại

gọi file.h tức là gọi đến file liên kết cần lấy dữ liệu trong nó.
trong một chương trình bạn có thể liên kết đến nhiều file.h khác nhau.
ví dụ: một chương trình lớn rất dài hàng chục trang nếu bạn cứ viết dài như vậy thì khó kiểm tra lắm. bạn có thể chia nó ra thành nhiều file.h khác nhau, mỗi file chứa một vài chương trình con hoặc các biến mãng nào đó chẳng hạn. và trong chương trình chính bạn chỉ cần gọi đường dẫn #include <path file.h> thì bạn có thể gọi chương trình con trong file.h đó ra sủ dụng trong chương trình chính

Duong_Act 21-10-2012 03:13 PM

Để tạo file header (*.h) lưu trữ các thanh ghi và các bit trong CCS các bạn làm như sau :
1/ Từ trình dịch CCS chọn View\Special Registers => xuất hiện hộp thoại Device Table Editor.
2/ Chọn PIC muốn tạo file header ở cột bên trái.
3/ Chọn Make Include file => hiện hộp thoại Generate Registers Define
4/ Chọn đường dấn lưu file header, xóa MCU_ ở ô Byte Prefix và Bit Prefix, xóa dấu _ ở Add byte name to Prefix, chọn các modul muốn khai báo thanh ghi.
5/ Nhấn vào Generate để xuất file header.


Múi giờ GMT. Hiện tại là 12:17 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam