PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Bị lỗi file header .h Các bác cứu em với (http://www.picvietnam.com/forum/showthread.php?t=30564)

chongkamat 25-09-2012 03:59 PM

Bị lỗi file header .h Các bác cứu em với
 
1 Attachment(s)
Tình hình là em đã viết code và chạy thử thì nó báo một lỗi rất lạ là :
Error [312] C:\Users\Tuan Anh\Desktop\test\lcd.h; 8.1 ";" expected
Em không biết sửa thế nào cả, em mới học pic thôi mong các bác chỉ thêm cho :-s

Bài của em là hiển thị ADC dùng biến trở và LCD, các bác cho ý kiến nhé, k biết e nên xài mplab hay ccs nữa

handsometran 27-09-2012 05:44 PM

Trích:

Nguyên văn bởi chongkamat (Post 77956)
Tình hình là em đã viết code và chạy thử thì nó báo một lỗi rất lạ là :
Error [312] C:\Users\Tuan Anh\Desktop\test\lcd.h; 8.1 ";" expected
Em không biết sửa thế nào cả, em mới học pic thôi mong các bác chỉ thêm cho :-s

Bài của em là hiển thị ADC dùng biến trở và LCD, các bác cho ý kiến nhé, k biết e nên xài mplab hay ccs nữa

Project lcd_speed thấy quen quen, tôi lưu ý là chip dùng cho project này là 16F887 chứ không phải 877.
Theo như tôi thử thì báo 3 dòng sau:
***Error [312] D:\\test\test\lcd.h; 8.1 ";" expected
--> Bạn đã thay đổi file thư viện lcd.h do hãng soạn sẵng, bạn nên search lại file đó trong thư mục cài đặt. Bạn mới học mà sửa file header thì..... không nên. Khi đủ kinh nghiệm lập trình bạn sẽ hiểu đươc cấu tạo file header ra sau.

***Error [192] D:\\test\test\main.c; 119.1 undefined identifier "GO"
--> Bạn chưa định nghĩa biến GO là int, char.....

***Warning [361] D:\\test\test\main.c; 121.1 function declared implicit int
--> hàm delay sai cú pháp đúng là __delay_ms(10)=10ms; __delay_us(10)=10us; __delay(10)=10chu ky dao động của máy;
Tôi chỉ mới tìm hiểu về C và PIC có hơn 1 tháng nên chỉ biết như thế, bạn muốn tìm hiểu thêm hàm của MPLAB IDE _ HiTECH PIC thì đọc file manual, search trong thư mục cài đặt.
Chúc bạn thành công!!!

chongkamat 27-09-2012 10:03 PM

cảm ơn bạn, nhưng mà thật sự là mình không thay đổi gì ở file .h cả, file lcd.c và lcd.h mình copy trong thư viện của hitech c mà không hiểu sao lại bị lỗi.
bạn có file lcd.c và lcd.h nào tin tưởng không share cho mình với.
còn một lỗi nữa là khi mình xài biến GODONE trong ADC thì nó báo lỗi nên mình phải xóa đi còn lại là GO thì nó không báo lỗi nữa

handsometran 28-09-2012 12:04 AM

2 Attachment(s)
Trích:

Nguyên văn bởi chongkamat (Post 77998)
cảm ơn bạn, nhưng mà thật sự là mình không thay đổi gì ở file .h cả, file lcd.c và lcd.h mình copy trong thư viện của hitech c mà không hiểu sao lại bị lỗi.
bạn có file lcd.c và lcd.h nào tin tưởng không share cho mình với.
còn một lỗi nữa là khi mình xài biến GODONE trong ADC thì nó báo lỗi nên mình phải xóa đi còn lại là GO thì nó không báo lỗi nữa

Tại vì bạn dùng sai file lcd.h nên bị thế, tôi có đính kèm file, bạn đổi đuôi txt thành .c và .h rồi bỏ file củ đi sẽ ok thôi. Chú ý là dùng chip 16F887 nhé.
Ngoài ra bạn còn thiếu #include <stdio.h>, đây là thư viện hàm chuẩn trong C.
Có 1 chương trình chính của tôi đã hoàn thiện xong, dùng biến trở 50K để thay đổi điện áp vào ADC, rồi in dữ liệu ra ADC ra LCD. Bạn vào http://www.picvietnam.com/forum/showthread.php?t=30520 tìm hiểu thêm.

chongkamat 30-09-2012 05:21 PM

cám ơn bạn nhiều lắm, mình mới học pic mà sao thấy chông gai quá, mình xài mplab, mà copy mấy code mẫu trên mạng, không biết chương trình mình xài có bị làm sao không nữa, thấy cái nào cũng không chạy hết, toàn error không à, kể cả mấy file bạn đưa xài adc , lcd và pwm. sao trong đoạn code đó không có #include <16f887.h> và lcd.c ?
mình xài mplab version 8.7, hi tech 9.83, HITECH ANSI C Complier :-s
Phần ADC nữa, mình có tham khảo nhiều diễn đàn, kể cả code của bạn, mình thấy cái biến tên GODONE, mà khi dịch là lỗi ở đó, có nhiều người kiu mình đổi GODONE thành GO, mình cũng không biết tại sao, bạn giải thích hộ mình được không ?

handsometran 01-10-2012 02:11 PM

Trích:

Nguyên văn bởi chongkamat (Post 78050)
cám ơn bạn nhiều lắm, mình mới học pic mà sao thấy chông gai quá, mình xài mplab, mà copy mấy code mẫu trên mạng, không biết chương trình mình xài có bị làm sao không nữa, thấy cái nào cũng không chạy hết, toàn error không à, kể cả mấy file bạn đưa xài adc , lcd và pwm. sao trong đoạn code đó không có #include <16f887.h> và lcd.c ?
mình xài mplab version 8.7, hi tech 9.83, HITECH ANSI C Complier :-s
Phần ADC nữa, mình có tham khảo nhiều diễn đàn, kể cả code của bạn, mình thấy cái biến tên GODONE, mà khi dịch là lỗi ở đó, có nhiều người kiu mình đổi GODONE thành GO, mình cũng không biết tại sao, bạn giải thích hộ mình được không ?

Lỗi chính không phai do chương trình mà là do bạn chưa configure chip bạn đang sử dụng. Bạn vào trình đơn configure/select device, sau đó chọn chip 16f887 là biên dịch ok liền.

chongkamat 01-10-2012 09:57 PM

mình cũng nghi như bạn nhưng mà mình đã vô mục configure và chọn pic16f887, ở mục language and design tools thì chỉ có assembler là màu xanh còn compiler và VDI màu đỏ, như vậy có đc không bạn nhỉ. Phần mềm mplab và hi tech c mình đã cài đầy đủ rồi mà

handsometran 03-10-2012 04:58 PM

Trích:

Nguyên văn bởi chongkamat (Post 78077)
mình cũng nghi như bạn nhưng mà mình đã vô mục configure và chọn pic16f887, ở mục language and design tools thì chỉ có assembler là màu xanh còn compiler và VDI màu đỏ, như vậy có đc không bạn nhỉ. Phần mềm mplab và hi tech c mình đã cài đầy đủ rồi mà

Bạn xài bản mới hơn, tôi dùng V8.86, không biết có gì thay đổi không. Chứ chương trình tôi viết đang chạy ổn mà đem qua MPLAB IDE X thì trình dịch báo quá trời lỗi. Bạn xem lại như thế nào. Ngoài ra khi tạo project mới, thì phải chọn ngôn ngữ lập trình là C hay Assembler, tool dịch là HiTech Pic hay là gì. Đến bước add file vào thì bạn thấy chữ A hay C đứng trước file sau khi add, để thay đổi bạn cứ click vào chữ đó thì nó sẽ đổi sang C hoặc A. Bạn lên youtube tra video chỉ cách dùng MPLAB IDE đó, nhiều lắm.
Bước đầu là thế, xài từ từ sẽ quen thôi.

chhe 18-10-2012 02:39 PM

Trích:

Nguyên văn bởi chongkamat (Post 77998)
cảm ơn bạn, nhưng mà thật sự là mình không thay đổi gì ở file .h cả, file lcd.c và lcd.h mình copy trong thư viện của hitech c mà không hiểu sao lại bị lỗi.
bạn có file lcd.c và lcd.h nào tin tưởng không share cho mình với.
còn một lỗi nữa là khi mình xài biến GODONE trong ADC thì nó báo lỗi nên mình phải xóa đi còn lại là GO thì nó không báo lỗi nữa

trong hitech C doi voi phan ADC ban sua lenh GODONE thanh GO_DONE la chay ok thoi tham khao them trong file.h


Múi giờ GMT. Hiện tại là 11:57 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