Trích:
Nguyên văn bởi dark_electron
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_LOW) output_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;