Trích:
Nguyên văn bởi funnyCat
Các bác cho em hỏi là trong CCS làm sao có thể sử dụng được mảng nhiều phần tử cho PIC16F877a(em muốn dùng mảng khoảng 128 phần tử, nhưng chỉ khai báo được khoảng 93-94 phần tử thì nó báo là ko đủ RAM)
|
Trích:
Nguyên văn bởi funnyCat
À quên, em khai báo 4 mảng 60 phần tử thì lại được. Làm sao để gộp lại được thành 1 mảng nhỉ?
|
Bạn đọc datasheet của PIC16F877A, hình 2-3 (bản đồ bộ nhớ thanh ghi) sẽ thấy vùng RAM mà người sử dụng có thể đọc/ghi tùy ý (công dụng chung) được chia thành 4 bank không liên tục. Do đó hai trường hợp mà bạn đã gặp là hợp lý. Bạn được phép có 4 mảng, mỗi mảng có tối đa 80 byte, chứ không thể có một mảng liên tục như bạn yêu cầu. Trình dịch cũng khó mà làm gì hơn được vì cấu trúc của RAM trong chip là như vậy. Các PIC18 có bộ nhớ RAM rộng rãi và liên tục hơn nhiều.
Thân,