PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   xin hỏi về chương trình con trong ccs (http://www.picvietnam.com/forum/showthread.php?t=3318)

daythienha2007 18-12-2008 03:41 PM

xin hỏi về chương trình con trong ccs
 
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

Trích:

Nguyên văn bởi daythienha2007 (Post 21484)
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

Trích:

Nguyên văn bởi namqn (Post 21487)
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

Trích:

Nguyên văn bởi lequocbao (Post 21493)
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

Trích:

Nguyên văn bởi daythienha2007 (Post 21504)
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

Trích:

Nguyên văn bởi namqn (Post 21507)
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

Trích:

Nguyên văn bởi daythienha2007 (Post 21540)
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ích:

Nguyên văn bởi namqn (Post 21541)
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


Múi giờ GMT. Hiện tại là 09:16 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam