Ðăng Nhập

View Full Version : xin hỏi về chương trình con trong ccs


daythienha2007
18-12-2008, 03:41 PM
mình có viết một chương trình cho PIC bằng ccs,trong đó có viết 1 chương triònh con.Trong chương trình chính (void main) mình có gọi hàm con này,nhưng khi trong chương trình ngắt ngoài mình cũng gọi nó thì trình biên dịch CCS lại cảnh báo là ko thể gọi chương trình con trong hàm ngắt.Bạn nào biết cách khắt phục hiện tượng trên ko ,chỉ giúp mình với.

namqn
18-12-2008, 03:54 PM
mình có viết một chương trình cho PIC bằng ccs,trong đó có viết 1 chương triònh con.Trong chương trình chính (void main) mình có gọi hàm con này,nhưng khi trong chương trình ngắt ngoài mình cũng gọi nó thì trình biên dịch CCS lại cảnh báo là ko thể gọi chương trình con trong hàm ngắt.Bạn nào biết cách khắt phục hiện tượng trên ko ,chỉ giúp mình với.
Bạn viết lại đoạn code của chương trình con đó vào phần code xử lý ngắt, thay vì gọi hàm. Làm như vậy giúp bạn biên dịch được chương trình, nhưng việc thực hiện cùng một đoạn code ở chương trình chính và ở chương trình xử lý ngắt là nên tránh.

Thân,

lequocbao
18-12-2008, 05:40 PM
Bạn viết lại đoạn code của chương trình con đó vào phần code xử lý ngắt, thay vì gọi hàm. Làm như vậy giúp bạn biên dịch được chương trình, nhưng việc thực hiện cùng một đoạn code ở chương trình chính và ở chương trình xử lý ngắt là nên tránh.

Thân,

Nếu chương trình con của bạn gọn nhẹ thì bạn bê nguyên đoạn code đó vào ngắt ,chứ mà dài loằn ngoằn thì sẽ rất tốn RAM và khi chạy thì cà ì cà ạch đó bạn ah!

daythienha2007
18-12-2008, 10:51 PM
Nếu chương trình con của bạn gọn nhẹ thì bạn bê nguyên đoạn code đó vào ngắt ,chứ mà dài loằn ngoằn thì sẽ rất tốn RAM và khi chạy thì cà ì cà ạch đó bạn ah!
chẳng lẻ ko có cách nào khác hay sao,nếu làm nếu bê nguyên chương trình vào ngắt thì tốn Rom lắm,nvif chwowng trình con khá dài,nên sẽ ko đủ Rom.Chà chẳng lẻ ko còn cách nào nữa hay sao mấy bạn.Nếu vậy thì mình đành chịu

namqn
18-12-2008, 11:44 PM
chẳng lẻ ko có cách nào khác hay sao,nếu làm nếu bê nguyên chương trình vào ngắt thì tốn Rom lắm,nvif chwowng trình con khá dài,nên sẽ ko đủ Rom.Chà chẳng lẻ ko còn cách nào nữa hay sao mấy bạn.Nếu vậy thì mình đành chịu
Nên đặt lại vấn đề: vì sao bạn phải viết chương trình như vậy? Bạn chỉ hỏi cách thực hiện việc đó, chứ không nêu vấn đề gốc là phải làm gì. Nếu bạn nêu vấn đề gốc, biết đâu có phương pháp giải quyết hiệu quả hơn phương pháp mà bạn đang dùng.

Với hệ thống dùng vi điều khiển, người thiết kế cần nắm vững những tài nguyên mình có trong tay, những giới hạn vật lý của vi điều khiển khi hiện thực một giải thuật.

Thân,

daythienha2007
20-12-2008, 12:09 AM
Nên đặt lại vấn đề: vì sao bạn phải viết chương trình như vậy? Bạn chỉ hỏi cách thực hiện việc đó, chứ không nêu vấn đề gốc là phải làm gì. Nếu bạn nêu vấn đề gốc, biết đâu có phương pháp giải quyết hiệu quả hơn phương pháp mà bạn đang dùng.

Với hệ thống dùng vi điều khiển, người thiết kế cần nắm vững những tài nguyên mình có trong tay, những giới hạn vật lý của vi điều khiển khi hiện thực một giải thuật.

Thân,
bạn namqn nói đúng,với 1 bài toán có thể có nhiều phương án để giải quyêt.Nhưng ở đây mình mún tìm hiểu thêm về CCS nên giả sử tình huống mình đặt ra ở trên là cứng ,ko thay đổi được.Rất cám ơn lời góp ya của bạn namqn,nhưng khi mình dùng vi điều khiển để điều khiển 1 thứ ji đó hay chúng ta làm công việc ji đó,tuy là đã vạch kế hoạch từ trước và đã có sự tính toán sơ bộ,nhưng trong thực tế thực hiên mình làm sao có thể lường trước những tình huống mới ngoài mong đợi phát sinh.Vì vậy theo mình tuy là đã tìm hiểu về những ji mình đã có trong tay,khả năng của con vi đièu khiển mà mình sử dụng nhưng cũng sẽ gặp những trường hợp ngoài dự kiến.

namqn
20-12-2008, 12:14 AM
bạn namqn nói đúng,với 1 bài toán có thể có nhiều phương án để giải quyêt.Nhưng ở đây mình mún tìm hiểu thêm về CCS nên giả sử tình huống mình đặt ra ở trên là cứng ,ko thay đổi được.Rất cám ơn lời góp ya của bạn namqn,nhưng khi mình dùng vi điều khiển để điều khiển 1 thứ ji đó hay chúng ta làm công việc ji đó,tuy là đã vạch kế hoạch từ trước và đã có sự tính toán sơ bộ,nhưng trong thực tế thực hiên mình làm sao có thể lường trước những tình huống mới ngoài mong đợi phát sinh.Vì vậy theo mình tuy là đã tìm hiểu về những ji mình đã có trong tay,khả năng của con vi đièu khiển mà mình sử dụng nhưng cũng sẽ gặp những trường hợp ngoài dự kiến.
Trình biên dịch chỉ là công cụ để hiện thực một giải pháp nào đó. Nếu bạn tự giới hạn mình vào khả năng hạn chế của một trình biên dịch nào đó thì tôi xin phép không bàn thêm.

Thân,

daythienha2007
20-12-2008, 12:45 AM
Trình biên dịch chỉ là công cụ để hiện thực một giải pháp nào đó. Nếu bạn tự giới hạn mình vào khả năng hạn chế của một trình biên dịch nào đó thì tôi xin phép không bàn thêm.

Thân,
theo bạn namqn thì trình biên dịch ko thể thực hiện được vấn đề mình đặt ra,nghĩa là muốn sử dụng một trình biên dich nào đó thì phải chấp nhận hạn chế của nó,mình đã hiẻu rồi .
Cám ơn bạn namqn đã chỉ giúp