Các bác giúp em với. Em làm một cái LEDMATRIX 16x64 . Về phần cứng thì ngon lành rồi nhưng khi lập trình thì em bị mắc ở chỗ này các bác giúp em với
Em khai báo một mảng buffer để hiển thị màn hình
unsigned char buffer[144] thì khi dịch chương trình báo DATA too large. Em biết làm em khai báo cái mảng đó trong Ram với kích thước như thế là quá lớn ( em làm với 89C52 nhé)
Với những LMD nhỏ hơn em làm mọi thứ rất OK nhưng vì các mảng đó đều nhỏ hơn 96 phần tử
Em tìm hiểu và biết thêm có một dạng khai báo địa chỉ gián tiếp là
idata unsigned char
Và em khai báo như thế thì trình dịch không báo lỗi nữa và dịch OK nhưng LMD của em lại ko chạy.
Thực chất thì em ko hiểu cái khai báo idata nó như thế nào. Các bác cao thủ chỉ giúp em cái đó với
.Các bác chỉ giúp em bản chất của thằng idata hay có cách nào khác để khai báo mảng buff lớn như thế ko ( ko chơi thằng code unsigned char đâu nhé vì em còn phải dịch bit trong buff)
Còn về chương trình em thử với mảng bé hơn thì chạy ngon lành như ko hiển thị đủ mà thôi.
Em khai báo một mảng buffer để hiển thị màn hình
unsigned char buffer[144] thì khi dịch chương trình báo DATA too large. Em biết làm em khai báo cái mảng đó trong Ram với kích thước như thế là quá lớn ( em làm với 89C52 nhé)
Với những LMD nhỏ hơn em làm mọi thứ rất OK nhưng vì các mảng đó đều nhỏ hơn 96 phần tử
Em tìm hiểu và biết thêm có một dạng khai báo địa chỉ gián tiếp là
idata unsigned char
Và em khai báo như thế thì trình dịch không báo lỗi nữa và dịch OK nhưng LMD của em lại ko chạy.
Thực chất thì em ko hiểu cái khai báo idata nó như thế nào. Các bác cao thủ chỉ giúp em cái đó với
.Các bác chỉ giúp em bản chất của thằng idata hay có cách nào khác để khai báo mảng buff lớn như thế ko ( ko chơi thằng code unsigned char đâu nhé vì em còn phải dịch bit trong buff)
Còn về chương trình em thử với mảng bé hơn thì chạy ngon lành như ko hiển thị đủ mà thôi.
Comment