Trích:
Nguyên văn bởi datk45d
Không, nhưng tất cả đều là hằng số được định nghĩa sẵn. Đáng ra HT phải tính ra giá trị thực rồi đưa vào biểu thức chứ. Như thế mới thuận tiện cho người viết chương trình. Bên avrstudio em thấy nó vẫn làm như thế mà.
|
Cách viết của bạn sẽ thích hợp nếu TMR2ON, TOUTPS0, và T2CKPS1 là các hằng số chỉ vị trí bit tương đối trong một byte (tức là có tầm trị nằm giữa 0 và 7). Tuy nhiên, các hằng số trên được định nghĩa trong HT PIC bằng địa chỉ tuyệt đối như sau:
Code:
bit TMR2ON @ ((unsigned)&T2CON*8)+2;
bit TOUTPS0 @ ((unsigned)&T2CON*8)+3;
bit T2CKPS1 @ ((unsigned)&T2CON*8)+1;
Bạn đang áp đặt cách dùng của một trình biên dịch khác lên HT PIC mà không kiểm tra xem nó có thích hợp không. Bài viết của tôi ở post #2 cũng không chính xác, vì tôi đã không xem kỹ biểu thức của bạn.
Thân,