Trích:
Nguyên văn bởi picpen
Mình gặp vấn đề rất khó chịu khi làm việc với pic dùng CCS để viết code
Khi cần khai báo 1 mảng dữ liệu lớn 1 chút là trình dịch báo lỗi ( thường > 50 phần tử là bị báo lỗi dữ liệu quá lớn )
Ví như mình muốn khai báo 1 mảng hằng số chứa 1024 phần tử int8 . tương đương với 1kb , với dữ liệu 1kb thì bộ nhớ cuả pic thừa sức lưu trữ được. Nhưng ko hiểu sao trình dịch báo lỗi là dữ liệu quá lớn " data item too big"
ví dụ :
const int8 img[1024]= {0, 0, 0, 0, 4, 10, 58, 62,122,210,208,208..........};
>> lỗi
Ai có kinh nghiệm xử lý tình huống này chỉ giúp mình và mọi người với. Mình nghĩ có nhiều người bị vướng mắc vấn đề này
THANKS !
|
Với khai báo mảng trên 256 phần tử trong CCS với PIC 16 thì hẳn nhiên sẽ gặp lỗi. Tuy nhiên bạn có thể làm được nhưng bằng ... cách khác. Đó là chỉ thị #ROM của CCS, với chỉ thị này bạn có thể thiết kế mảng kích thước tùy ý trong FLASH của PIC bắt đầu tại 1 địa chỉ nào đó.
Code:
#rom address = {list}
#rom int8 address = {list}
#rom char address = {list}
Xem chi tiết trong Manual của CCS. Chúc bạn thành công.
Regards