PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 29-08-2008, 05:28 PM   #2
cskiller
Đệ tử 4 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 89
:
Trích:
Nguyên văn bởi PICC View Post
#define LCD_DATA_TRIS (((volatile LCD_DATA*)&TRISD)->data)
Trong C nói chung từ khóa volatile để chỉ những biến mà giá trị có thể bị thay đổi bất cứ lúc nào(không nhất thiết tại thời điểm gán). Cho nên trong các khai báo thanh ghi SFR của vi điều khiển thường sử dụng volatile cho các thanh ghi, đặc biệt là cho IO, vì các giá trị này có thể sẽ bị thay đổi bởi môi trường ngoài hay tương tác hardware trong lúc hoạt động.
Trong định nghĩa trên thanh ghi TRISD sẽ được chuyển kiểu thành con trỏ (volatile LCD_DATA*) đến 4 bit đầu(data) trong struct của LCD_DATA dưới tên truy cập là LCD_DATA_TRIS.
Sau khai báo này lệnh gán LCD_DATA_TRIS=X; sẽ gán 4 bit đầu của TRIS bằng, nhưng lệnh đọc Y=LCD_DATA_TRIS; chưa chắc trả về đúng giá trị mà lần cuối trước đó ta đã gán cho nó(tức Y có thể khác với X).

Thân chào.
__________________
Quang báo RG/RGB 6/8/12/16 bits màu
Phone No: 0905.034.086
Email: lmquyen@gmail.com
cskiller vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam