Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
bạn dùng có 31% thì nó hiển thị 31% còn bạn khai báo thêm biến rồi thì dùng thêm ram nó sẽ tăng lên @@
31%-31% nghĩa là lúc nào RAM cũng chạy 31%
Còn ví dụ: 15%-31% thì có lúc chạy 15% có lúc chạy 20% có lúc chạy 31%,..... nghĩa là RAM chạy dao động trong khoảng 15% tới 31%
bạn dùng có 31% thì nó hiển thị 31% còn bạn khai báo thêm biến rồi thì dùng thêm ram nó sẽ tăng lên @@
31%-31% nghĩa là lúc nào RAM cũng chạy 31%
Còn ví dụ: 15%-31% thì có lúc chạy 15% có lúc chạy 20% có lúc chạy 31%,..... nghĩa là RAM chạy dao động trong khoảng 15% tới 31%
nhưng khi em đang ở 31% mà có khai báo thêm một biến nữa là nó báo lỗi RAM liền.hic!
chắc là khai báo một biến dạng mảng. Các biến chiếm ram là các biến khai báo dạng toàn cục, còn các biến cục bộ trong hàm thì nó không chiếm ram khi biên dịch, nó sẽ được phân bố trong stack điều khiển bởi các thanh ghi định địa chỉ, ...
chỉ cần thêm một biến bất kỳ nào trong biến mảng này nữa là báo quá RAM
int ABC[] = {0,1,2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8,9,10,0,1 ,2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8,9,10,0,1,2,3 ,4,5,6,7,8,9,10,
0,1,2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8,9,10,0,1, 2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7};
như này chẳng hạn:
int ABC[] = {0,1,2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8,9,10,0,1 ,2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8,9,10,0,1,2,3 ,4,5,6,7,8,9,10,
0,1,2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8,9,10,0,1, 2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8};
==>Not enough RAM foll variables
//------------------------------------------------------------------------
Còn viết bằng HI-TECH C thì còn tệ hơn, được có 48 biến, tới cái thứ 49 là lỗi
Chương trình viết bằng hi-tech C
#include <htc.h>
int ABC[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 ,20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46 ,47,48};
(1273) Omniscient Code Generation not available in Lite mode (warning)
HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.71a
Copyright (C) 2010 Microchip Technology Inc.
Error [1250] C:\Users\abc\Desktop\mplap\lcd1\LCD 4 bit.c; 25. could not find space (98 bytes) for variable _ABC
đây là 1 mảng liên tục, trong khi vùng RAM liên tục chỉ dài tối đa 96bytes từ địa chỉ 110h tới 16Fh ở bank 3. CCS báo ko đủ độ dài liên tục của mảng này thôi, còn ram thì vẫn còn trống
mình cũng vừa gặp hiện tượng này với PIC mình lâu không lập trình PIC vớ phải yêu cầu dùng PIC điều khiển bảng led 16x128 thời hạn có 4 ngày,thực tế hiện tượng này xảy như bác chung68 nói cách khắc phục của mình là thay đổi các khai báo các biến mảng,đầu tiên chưa thay đổi biên dịch nuốt 29-31% RAM thay đổi biên dịch chỉ còn chiến 3-4% RAM.mình thì dùng 8051 và AVR nên PIC không rõ lắm có thể còn nhiều nguyên nhân khác nữa,bạn có thể xem trong phần Help
cái lỗi đó là do khai báo mảng liên tục tối đa cũng chỉ 96 byte thôi, bạn có thể chi cái mảng đó ra lmaf hai, chương trình cũng không phức tạp thêm là mấy cả, cái này do khả năng của trình biên dịch nó hỗ trợ tạo mã thôi. đôi khi bạn cũng gặp cái trường hợp tương tự đối với dữ liệu chứa trong bộ nhớ chương trình. Nói chung là tùy thuộc vào thằng biên dịch mà biết cách xử lý,...
việc cắt chuỗi thì em cũng từng làm rùi nhưng với mảng cỡ lớn thì cắt bao nhiêu cho đủ thực tế khi thay đổi với các dòng pic có thể khắc phục được một chút việc này em từng thử thay PÍC6F877A bằng PiC18F4431 nhưng không hiểu tại sao bây giờ PIC tăng giá nhanh thế PIC18F4431 còn đắt hơn cả ATMEGA128,trước đây vì AVR đắt mọi người chuyển sang dùng PIC bây giờ PIC đắt không biết sẽ chuyển sang dùng gì đây
việc cắt chuỗi thì em cũng từng làm rùi nhưng với mảng cỡ lớn thì cắt bao nhiêu cho đủ thực tế khi thay đổi với các dòng pic có thể khắc phục được một chút việc này em từng thử thay PÍC6F877A bằng PiC18F4431 nhưng không hiểu tại sao bây giờ PIC tăng giá nhanh thế PIC18F4431 còn đắt hơn cả ATMEGA128,trước đây vì AVR đắt mọi người chuyển sang dùng PIC bây giờ PIC đắt không biết sẽ chuyển sang dùng gì đây
Mấy ông tín đồ Adruino có kit có thể làm thử xem thế nào !
————————————————————————
skysmotor.co.uk bán các sản phẩm sau trực tuyến: động cơ bước, động cơ servo, trình điều khiển động cơ bước, hộp số hành tinh và có thể mua trực tuyến nếu cần.
Trong quy trình sản xuất rượu, việc lựa chọn thiết bị chưng cất phù hợp không chỉ ảnh hưởng đến chất lượng thành phẩm mà còn quyết định hiệu quả kinh doanh lâu dài của mỗi xưởng sản xuất. Đặc biệt với các xưởng nhỏ, thách...
Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
Để check IC sống hay chết thì đơn giản : bạn lắp cái mạch ( khuếch đại hoặc dao động ) chạy bằng con IC đó ,nhưng vị trí IC thì lắp cái đế .... thế là cứ cắm rút thì biết . Còn không thì kiếm cái này : https://shopee.vn/Xu-M%C3%A1y-ki%E1%...di-%C4%91%E1%B...
Tình hình là em có mua mạch 3s về để hàn vào khối pin 12v, hàn xong em đo tại các chân từ B-, B1, B2, B+ thì điện áp pin vẫn đủ 12,6v, nhưng tại 2 chân ra P- P+ thì đo chỉ được 6,3v là bị sao các bác, và chân P- P + này đồng thời là chân sạc xả thì mình cắm sạc xả cùng lúc được ko ạ
...
Việc đó tùy thuộc trình độ khoa học kỹ thuật công nghệ ứng dụng hiện tại thôi.
Trong datasheet,họ đưa ra nhiều thông số. Tùy theo khả năng , và những thông số họ cần, họ sẽ kiểm tra casc số đo có khớp với số liệu trong datasheet...
Em có mạch AT89s8253 đang cần sửa số serial no của CHIP mà giờ lâu quá rồi không dùng keil nên không biết phải làm sao, trong khi chỉ còn file hex. Mạch nạp thì progris khi viết không sửa được số serial của IC. Rất cần bác nào còn làm về 89...
Comment