會員登陸
帳號:

密碼:

記住我



忘記密碼?

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


正在流覽:   1 名訪客





新手"延遲"小程式的問題 <Harmony>
新會員
註冊日期:
2016/12/28 15:57
所屬群組:
註冊會員
文章: 9
等級: 1; EXP: 86
HP : 0 / 21
MP : 3 / 57
離線
拜託了 已想不出問題出在哪 所以求助有經驗的各位

功能:
將原本為低電位的IO腳 經延遲50毫秒後 變為高電位

執行的過程:
Handle初始化了,延遲執行成功了,但是卻無法偵測到是否延遲完成

問題:
SYS_TMR_DelayStatusGet (appData.TMRHandle ) 一直無法為true

程式如下:
void APP_Initialize ( void )
{
/*該應用狀態機的初始狀態 */
appData.state = APP_STATE_INIT;

appData.TMRHandle = SYS_TMR_HANDLE_INVALID;


/* TODO: 初始化應用程序的狀態機和其他參數 */
}



void APP_Tasks ( void )
{
/* 檢查應用程序的當前狀態 */
switch ( appData.state )
{

/* 應用程序的初始狀態 */
case APP_STATE_INIT:
{
PLIB_PORTS_PinWrite(PORTS_ID_0, PORT_CHANNEL_D, PORTS_BIT_POS_8, 0);
PLIB_PORTS_PinWrite(PORTS_ID_0, PORT_CHANNEL_A, PORTS_BIT_POS_3, 0);
appData.TMRHandle = SYS_TMR_DelayMS (50);
if(appData.TMRHandle != SYS_TMR_HANDLE_INVALID)
{
/*已開始延遲*/
appData.state = APP_CHECK_DELAY;
}
break;
}

case APP_CHECK_DELAY:
{


if ( SYS_TMR_DelayStatusGet (appData.TMRHandle ) == true )
{
/*延遲完成*/
PLIB_PORTS_PinWrite(PORTS_ID_0, PORT_CHANNEL_D, PORTS_BIT_POS_8, 1);
PLIB_PORTS_PinWrite(PORTS_ID_0, PORT_CHANNEL_A, PORTS_BIT_POS_3, 1);
}
else
{
appData.state = APP_CHECK_DELAY;
}
break;
}

/* 預設狀態應該永遠不會執行。 */
default:
{
/* TODO: 在應用程式的狀態機中處理錯誤 */
break;
}
}
}

附加檔案:



jpg  擷取6465416.JPG (30.20 KB)
50423_58677681bc747.jpg 428X264 px

2016/12/31 17:12
轉換PDF檔 列印


Re: 新手"延遲"小程式的問題 <Harmony>
資深會員
註冊日期:
2007/11/05 08:29
所屬群組:
註冊會員
文章: 203
等級: 13; EXP: 28
HP : 0 / 307
MP : 67 / 9015
離線
不曉得你的問題是不是跟這個bug有關

http://www.microchip.com/forums/m818509.aspx

2016/12/31 18:40
轉換PDF檔 列印


Re: 新手"延遲"小程式的問題 <Harmony>
新會員
註冊日期:
2016/12/28 15:57
所屬群組:
註冊會員
文章: 9
等級: 1; EXP: 86
HP : 0 / 21
MP : 3 / 57
離線
我剛學Harmony,對於這種錯,我可能沒辦法很深入的除錯
只好先繞過等熟了再回頭解決

目前改用SYS_TMR_CallbackPeriodic 成功達到要求

使用SYS_TMR_DelayMS的話
SYS_TMR_DelayStatusGet一直無法為"真"
有人使用過SYS_TMR_DelayMS成功的嗎
是否可給一下範本

1月03日 20:22:08
轉換PDF檔 列印






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

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2017 Summer Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project