會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





XC16 delay function 的使用問題
新會員
註冊日期:
2019/07/23 10:25
所屬群組:
註冊會員
文章: 7
等級: 1; EXP: 60
HP : 0 / 15
MP : 2 / 26
離線
IC:PIC24FJ1024GA610
XC16(v1.41)


想請問各位大大,我爬了不少文說 在XC16 下要使用delay function
必須要#include <libpic30.h>
但是我已經#include<libpic30.h> 後 還是發生以下警告
warning: implicit declaration of function '__delay_us'
導致compiler fail

小弟現在不知道該如何解決這情況

以下是程式
#include "../mcc_generated_files/pin_manager.h"
#include "../mcc_generated_files/adc1.h"
#include "StepA_Short_test.h"
#include <libpic30.h>

void STD_SW_Port(uint16_t PA , uint16_t PE){
int i;
PORTA = PA;
PORTE = PE;
STD_H_LATCH_SetHigh();
STD_L_LATCH_SetHigh();
__delay_us(1);
STD_H_LATCH_SetLow();
STD_L_LATCH_SetLow();
//__delay_ms(1);

//ADC1_ChannelSelect(aSTD_VIN);
int conversion;
ADC1_Initialize();
ADC1_ChannelSelect(aSTD_VIN);
ADC1_Start();
//Provide Delay
for(i=0;i <1000;i++)
{
}
ADC1_Stop();
while(!ADC1_IsConversionComplete())
{
ADC1_Tasks();
}
conversion = ADC1_ConversionResultGet();

Volt_Short[short_time_Step] = ADC1_ConversionResultGet();

short_time_Step ++;
}

2019/12/17 15:59
轉換PDF檔 列印


Re: XC16 delay function 的使用問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14947
等級: 73; EXP: 74
HP : 1091 / 1818
MP : 4982 / 84113
離線
這要查看一下xc16的使用手冊看看裡面的延遲函數有用到哪些宣告及函數。

2019/12/17 17:55
轉換PDF檔 列印


Re: XC16 delay function 的使用問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14947
等級: 73; EXP: 74
HP : 1091 / 1818
MP : 4982 / 84113
離線
抱歉,昨日休假去了無電腦可查資料。

_delay32, _delay_ms, _delay_us 等延遲函數是屬於舊版的 C16 compiler 的 公共 Libraries 內的函數 (libpicc30-elf.a)。這個函數的支援在在 XC16 v1.24 以後就被取消了改用 MCC 的函數產生器。

如貼圖 XC16 v1.24 的 v1.24\lib\ 下的公共函數支援。

附加檔案:



jpg  擷取.JPG (43.98 KB)
16_5df99f06bac90.jpg 775X300 px

2019/12/18 11:37
轉換PDF檔 列印


Re: XC16 delay function 的使用問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14947
等級: 73; EXP: 74
HP : 1091 / 1818
MP : 4982 / 84113
離線
所以使用 XC16 v1.24 已以後的版本就沒有共用函數及周邊函數的支援,主要是因為 MCC 可以支援所有的周邊函數的產生。

至於有些共用的函數就必須自己去刻出來了,如 Delay( )

不過想要使用 XC16 v1.24 的 Libraries 的支援就需要再安裝 XC16 v1.24 的 compiler。然後在建立專案時將 C Compiler 設定為 v1.24 的版本。

2019/12/18 11:48
轉換PDF檔 列印


Re: XC16 delay function 的使用問題
新會員
註冊日期:
2019/07/23 10:25
所屬群組:
註冊會員
文章: 7
等級: 1; EXP: 60
HP : 0 / 15
MP : 2 / 26
離線
謝謝 大大們的回覆
我後續研究了一下
我在head file 加了
#define FCY 16000000UL
#include <libpic30.h>

之後就可以用delay function 了~~

1月16日 10:50:58
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project