PDA

View Full Version : Lỗi do CCS hay do CODE


zero
11-05-2007, 09:56 PM
Về việc này tôi đã đọc 1 bài đâu đó trong forum này nhưng ko nhớ nổi nay tôi xin hỏi lại để anh em trả lời dùm
Tôi tham gia làm Robocon 2007 có sử dụng con 16f877 để làm cho con robot tự động và dùng trình biên dịch CCS nhưng gặp phải lỗi "out of rom"???
cụ thể như sau:
trong khi viết code và biên dịch thì nó báo là 62% of rom và tôi có sử dụng một biến để báo cho VĐK biết là đang chạy chiến thuật của đội đỏ hay đội xanh nhưng do dễ bị nhầm lẫn và ko chắc chắn nên tôi quyết định tách ra làm 2 chip để cho chắc.
Tôi đã xóa các đoạn code để phân biệt bên xanh hay đỏ đi và cả biến đó đi tuy nhiên sau đó tôi biên dịch và gặp lỗi out of rom
Vậy lý do là sao? tôi nghĩ là khi xóa bớt đi Rom sẽ trống hơn chứ?
và để khắc phục lỗi này tôi đành phải bỏ bớt đi vài chiến thuật (ko còn thời gian để nghiên cứu lỗi)
vậy ai có thể giúp tôi trả lời với
Nếu cần CODE thì tôi sẽ gửi lên sau vì hiện nay tôi ko cầm trong tay

Rất mong trả lời!

thaithienanh
11-05-2007, 10:27 PM
Cái này lúc viết code cho Caro Pic mình cũng bị : đáng nhẽ 60%+7% thì vẫn chạy tốt nhưng nó lại báo lỗi này (sau đó mình chỉnh sửa giải thuật lại ít vòng lặp hơn thì hết báo lỗi), mình lại viết tiêp 1 đoạn code # thì lại gặp lỗi tức quá mình chuyển toàn bộ code này qua trang chương trình chính (không dùng #include .c) thì lại hết lỗi :mad: , hết hỉu luôn...

vnbtech
12-05-2007, 06:31 AM
chao ba.n,


- Ban phai coi lai ba.n co' cai function nao da\i qua khong? Neu co', thi phai "breakup" ra thanh nhu*ng functions nho? hon.
- Phai thu dung #separate

VNBTECH

annhat
04-06-2007, 04:30 PM
Lỗi đó là do hàm quá dài ,để khắc phục phải chia nhỏ hàm ra

zero
06-06-2007, 07:26 PM
Nếu vì hàm quá dài thì mình nghĩ điều này là ko thể vì chương trình của mình viết dưới dạng Modun.
Mỗi hoạt động hay kiểm tra bit đều đưa vào function riêng hết.
Đây là đoạn code mình đã làm (Cái này chưa bị lỗi)
nhưng chương trình của mình chỉ có như thế (Với các chiến thuật khác ấy)
Rất mong góp ý!