View Single Post
Old 10-08-2008, 12:45 AM   #2
phamminhtuan
Super Moderator
 
phamminhtuan's Avatar
 
Tham gia ngày: Feb 2006
Bài gửi: 150
:
Trích:
Nguyên văn bởi dark_electron View Post
Hi các bác,
Em mới chuyển qua C để viết cho nhanh nhưng đọc manual của CCS thấy có vài chỗ thắc mắc như sau: chỗ đặt biến trong CCS, có 2 kiểu đặt là #define và #byte. Vậy cho em hỏi khi nào thì dùng #define và khi nào thì nên dùng #byte? Em thấy đa số trong file .h bản thân CCS nó hay dùng #define còn trong file def_877a.h các bác lại dùng #byte.
Nhờ các bác giải đáp giúp, cám ơn các bác nhiều.
#define là định nghĩa 1 macro, ví dụ:
PHP Code:
#define IN_LOW !input(PIN_A0)
//lúc sử dụng nó trong chương trình

if(IN_LOWoutput_high(PIN_A1);
//có nghĩa trình dịch sẽ thay thế IN_LOW = !input(PIN_A0) trong quá trình dịhc 
còn chỉ thị #byte là đặt địa chỉ, ví dụ PORTB có địa chỉ là 0x06, và TRISB có địa chỉ 0x86 với PIC16 thì thay vì mình viết trong CCS C
PHP Code:
ouput_b(0xAA); //có nghĩa là xuất ra PORTB giá trị 0xAA

//tương đương với
#byte  CONG_B               0x06
#byte  DKXUAT_NHAP_B       0x86

DKXUAT_NHAP_B 0x00;
CONG_B 0xAA
phamminhtuan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn