View Single Post
Old 19-12-2009, 01:42 AM   #25
Delfy_Coltech
Đệ tử 4 túi
 
Delfy_Coltech's Avatar
 
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Hanoi, Vietnam
Bài gửi: 78
:
Ủa vấn đề của meopic vẫn chưa giải quyết được hả!
Tại sao bạn không làm theo cách mình đã nói ở trên nhỉ!
Ví dụ đơn giản: Truyền kí tự "A"--> Getc()--> Putchar lên LCD.

Nhưng muốn get được ký tự đó. Không phải là cứ viết hàm getc() trong void main() là được. Mà phải cần sử dụng đến ngắt RDA (Nếu chưa biết bạn có thể đọc thêm trong CCS_Manual_2k9).

- Khi truyền một ký tự hoặc một chuỗi xuống PIC. (Thường mình dùng 2 chân RC6 và RC7 để truyền-nhận), sẽ xảy ra ngắt RDA (ngắt xảy ra khi có sự nhận dữ liệu qua giao thức RS-232).

Lúc này bạn sẽ khai báo hàm ngắt và viết câu lệnh nhận dữ liệu truyền xuống trong hàm ngắt này.
Rồi trong void main(). Enable ngắt là OK.

Code sẽ như sau:
Code:
//1. PIC setting
....
//2. Interrupts Program 
INT_RDA
VOID GET_CHAR()
{
   char c;
   c=getc();
   putc(c);// Gửi lại ký tự vừa nhận được lên PC
}

VOID main()
{
    enable_interrupts(global);
    enable_interrupts(int_rda);
    while(true)
         {
            
         }

}
__________________
Mechatronics Department
University of Engineering and Technology, VNUH.
Delfy_Coltech vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn