會員登陸
網站導航
最新下載
- Microchip 程式... (Tue, 17-Apr-2018)
- Microchip 程式... (Mon, 09-Apr-2018)
- Microchip2018微... (Fri, 19-Jan-2018)
- Microchip 2018 ... (Tue, 19-Dec-2017)
- 2017 精英年會特... (Wed, 11-Oct-2017)
- 2017 秋 研討會... (Wed, 11-Oct-2017)
- 2017 暑期微控制... (Fri, 07-Jul-2017)
- ATM6 講義與實作... (Tue, 27-Jun-2017)
- ATM5 講義與實作... (Tue, 27-Jun-2017)
- ATM4 講義與實作... (Tue, 27-Jun-2017)
訪問統計 (自2012/5/3)
|
正在流覽:
1 名訪客
|
16F1828編譯問題 |
|
初級會員 
註冊日期: 2017/06/19 12:25
所屬群組:
註冊會員
文章: 26
等級: 3; EXP: 83 HP : 0 / 70 MP : 8 / 172
|
利用曾百由老師書裡的範例 練習16F1828 編譯時出現錯誤 但只要將delay_ms(100)指令刪除 就可以順利編譯
#include <xc.h> //微控制器使用XC編譯器定義檔
void delay_ms(unsigned long A) { unsigned long i, j; for(i=0;i<A;i++) { for(j=0;j<110;j++) Nop(); } return; }
void main (void) {
LATC = 0x00; // 將PORTD設定關閉LED TRISC = 0; // 將TRISD設為0,PORTD設定為輸出 while (1) { // 無窮迴圈 delay_ms(100); // 延遲100ms LATC++; // 遞加PORTD } } --------------------------------------------- 編譯錯誤 :: warning: (1273) Omniscient Code Generation not available in Free mode :0: error: (499) undefined symbol: _Nop(dist/default/production\ex6_1_IO.X.production.obj) (908) exit status = 1 nbproject/Makefile-default.mk:141: recipe for target 'dist/default/production/ex6_1_IO.X.production.hex' failed make[2]: Leaving directory 'D:/ex/EX_for_XC8_16F1828/ex6_1_IO/ex6_1_IO.X' nbproject/Makefile-default.mk:84: recipe for target '.build-conf' failed make[1]: Leaving directory 'D:/ex/EX_for_XC8_16F1828/ex6_1_IO/ex6_1_IO.X' nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed make[2]: *** [dist/default/production/ex6_1_IO.X.production.hex] Error 1 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 2s)
2017/07/17 16:32
|
|
|
Re: 16F1828編譯問題 |
|
資深會員 
註冊日期: 2010/06/30 16:18
來自 CAE, Microchip Technology Inc.
所屬群組:
站務管理者 註冊會員
文章: 1577
等級: 33; EXP: 70 HP : 163 / 817 MP : 525 / 18639
|
請參考
附加檔案:
01.jpg (205.26 KB)
2017/07/17 16:57
|
|
|
Re: 16F1828編譯問題 |
|
初級會員 
註冊日期: 2017/06/19 12:25
所屬群組:
註冊會員
文章: 26
等級: 3; EXP: 83 HP : 0 / 70 MP : 8 / 172
|
針對您提供的圖裡紅色框框需打勾 但16F無法勾取 16F如何使用delay_ms
2017/07/18 08:59
|
|
|
Re: 16F1828編譯問題 |
|
版主 
註冊日期: 2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者 註冊會員 MICROCHIP
文章: 14262
等級: 72; EXP: 68 HP : 1075 / 1792 MP : 4754 / 73166
|
修改程式: 1. NOP( ) 這是巨集是用大寫來定義的。詳細請看一下 pic.h 內的宣告。 2. PIC16F1828 沒有 PORTD
請先看一下教育訓練 "XC8T v1.0 New!" 裡面的說明。
#include <xc.h> //微控制器使用XC編譯器定義檔
void delay_ms(unsigned long A) { unsigned long i, j; for(i=0;i<A;i++) { for (j=0;j<110;j++) NOP( );} return; }
void main (void) {
LATC = 0x00; // 將PORTD設定關閉LED TRISC = 0; // 將TRISD設為0,PORTD設定為輸出 while (1) { // 無窮迴圈 delay_ms(100); // 延遲100ms PORTB++; // 遞加PORTD (PORTD ???)} }
2017/07/19 10:31
|
|
您無法在此發表文章
您可以在此觀看文章
您無法回覆文章
您無法編輯自己的文章
您無法刪除自己的文章
您無法發起投票調查
您無法在此投票
您無法上傳附加檔案
您無法不經審核直接發表文章
|
搜尋
Microchip連結
網頁捷徑
2018 Winter Elite 報名
教育訓練
其它網站連結
|