|
18-05-2010, 08:53 PM | #1 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 97
: |
Trục trặc khi Return giá trị
Tôi dùng MPLAB IDE ver 8.46. tôi có 3 file h.c, g.h, main.c:
1-h.c chứa hàm unsigned long cal1(): unsigned long cal1(){ return 125100; } 2-g.h chứa hàm unsigned long cal2(). unsigned long cal2(){ return 125100; } 3-có 2 trường hợp: 3a- main.c chứa lệnh cal2() và in giá trị 125100 lên màn hình. 3b-main.c chứa lệnh cal1() và in giá trị không chính xác lên màn hình nếu giá trị này lớn hơn 32767. xin các bạn giải thích dùm |
18-05-2010, 11:50 PM | #2 | |
Trưởng lão PIC bang
|
Trích:
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
19-05-2010, 01:11 AM | #3 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 97
: |
dùng trình dịch MPLABC30ComboLite_v3_23 cho chip dsp33fj64gp804.
Mong nhận câu trả lời sớm. |
19-05-2010, 01:19 AM | #4 |
...Damned...
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
: |
bạn upload project bị lỗi của bạn lên thử.
|
19-05-2010, 02:06 AM | #5 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 97
: |
Đây là Project của tôi đã làm đơn giản để dễ kiểm tra.
http://www.mediafire.com/?zh3zdqy2gdn |
19-05-2010, 09:33 AM | #6 |
...Damned...
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
: |
Có vẻ như bạn mới làm với C.
Tất cả các hàm đều phải có khai báo mẫu hàm trước khi sử dụng, nếu ko khai báo mẫu hàm, Compiler sẽ ko biết hình dáng của hàm đó ra sao và sẽ coi hàm đó có kiểu trả về là int, ko có tham số. |
19-05-2010, 09:55 AM | #7 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 97
: |
mình sửa lại rồi, bạn coi hộ mình, nó cũng bị lỗi.
http://www.mediafire.com/?cootc11hkem |
19-05-2010, 12:07 PM | #8 |
Đệ tử 2 túi
Tham gia ngày: Mar 2007
Bài gửi: 44
: |
#include <p33FJ64GP804.h>
#include <libpic30.h> #include<uart.h> #include <stdio.h> #include <math.h> #include "g.h" Sao bạn không thử include luôn h.h vào đoạn trên thử xem, chỉ include có g.h thôi vậy |
19-05-2010, 12:21 PM | #9 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 97
: |
không đựoc bạn à, vì trong file h.c đã include h.h giả sử nếu trong file h.h có định nghĩa các biến (vd: char i; hay là int j;...), nếu bây giờ ta lại include h.h vào trong file EX_0.c hay include nó vào bất cứ file.c nào cũng báo lỗi là multiple definition of ten_bien, có nghĩa là có đa định nghĩa biến,tức cùng một biến là có đa định nghĩa
|
19-05-2010, 02:30 PM | #10 | |
Đệ tử 2 túi
Tham gia ngày: Mar 2007
Bài gửi: 44
: |
Trích:
Anyway, xin vui lòng hiểu dùm mình là cái này mình chỉ nhớ là như vậy, ko đảm bảo 100%. |
|
19-05-2010, 12:58 PM | #11 |
...Damned...
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
: |
file .h vốn ko phải là file dùng để khai báo biến.
|
19-05-2010, 02:32 PM | #12 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 97
: |
|
19-05-2010, 02:34 PM | #13 |
Đệ tử 2 túi
Tham gia ngày: Mar 2007
Bài gửi: 44
: |
Àh, mà bạn thử ép cho nó ra long int luôn xem, ép bằng cáh
return (long int)125100 |
|
|